31. marts 2005 - 19:46Der er
7 kommentarer og 1 løsning
sammenlign 2 tabeller og returner records der er forskellige
Jeg har en lidt tricky opgave som jeg er lidt usikker på hvordan løses. Jeg har 2 tabeller med samme data, forklaringen på hvorfor dette setup er lidt besværlig, men det er underordnet. De 2 tabeller har hver især en delt primær nøgle, hvor data jo er identisk de 2 imellem.
Jeg skal nu tjekke om data i de 2 tabeller er ens, altså sammenligne de 2 og derefter udskrive evt rækker som ikke findes i den ene eller anden tabel.. forstod i den? Det kan vel laves via noget sql tænker jeg, men det er lidt omvendt det der med at skrive rækker som ikke findes i den anden tabel.. måske skal man gøre det over 2 queries?
Her lidt input som dog er forkert. Når man i sql siger Not equal (<> eller !=) så returnere man alle rækker på nær den ene som er lig. Jeg vil kun udskrive en record, hvis den ikke findes i den anden tabel..
-------------------------------------- select distinct * from tabel1 t1, tabel2 t2 where ((t1.nr1<>t2.nr1)and(t1.nr2<>t2.nr2));
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Som outher join som performancemæssigt er bedre - især ved rigtig mange rækker:
select t1.* from tabel1 t1, tabel2 t2 where t1.nr1 = t2.nr1(+) and t1.nr2 = t2.nr2(+) UNION select t2.* from tabel1 t1, tabel2 t2 where t1.nr1(+) = t2.nr1 and t1.nr2(+) = t2.nr2;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.