Hvis du ønsker at få alle de byer i tabel1 der ikke eksisterer i tabel2, skal du bruge flg. SQL sætning:
SELECT Tabel1.By FROM Tabel1 WHERE NOT EXISTS (SELECT Tabel2.By FROM Tabel2 WHERE By = Tabel1.By)
Hvis du ydermere vil have de byer i tabel2 der ikke eksisterer i tabel1, sammen med ovenstående, \"vender du ovenstående om, og forener dem:
SELECT Tabel1.By FROM Tabel1 WHERE NOT EXISTS (SELECT Tabel2.By FROM Tabel2 WHERE By = Tabel1.By) UNION SELECT Tabel2.By FROM Tabel2 WHERE NOT EXISTS (SELECT Tabel1.By FROM Tabel1 WHERE By = Tabel2.By);
Håber du kan bruge ovenstående, ellers skriv igen.
Joohhh dreadnought, men du laver stadig det cartesiske (eller sådan noget) produkt, hvilke er en gevaldig rescource krævende funktion. Du henter mange mange data ind for derefter at smidet 99 % af dem væk (afhængigt af tabellernes størelse)....Det er smartere at finde sammeligne fra den ene tabel overmod den anden, med NOT EXISTS......
SELECT FDBTOT.Adresse , FDBTOT.By FROM FDBTOT WHERE NOT EXISTS ( SELECT [ADSL udrulning].centralområde FROM [ADSL udrulning] WHERE centralområde=FDBTOT.by);
Sådan som du har anvendt forespørgslen, bruger du kun den ene vej, og så må jeg jo sige, at Kasseper havde ret i, at UNION delen af mit svar ikke var nødvendig (Selvom jeg var troede det.)
Såeh Kasseper, sig lige til hvis du mener at jeg uretmæssigt har spist nogle af dine point.
Sådan får man listen fra tabel1 af dem, som ikke er i tabel2:
SELECT Tabel1.Felt1, Tabel1.Felt2 FROM Tabel2 LEFT JOIN [Tabel2] ON Tabel1.Felt1 = Tabel2.Felt1 WHERE (((Tabel2.Felt1) Is Null)) GROUP BY Tabel1.Felt1, Tabel1.Felt2;
Jamen så syntes jeg egentlig det !!!! Ikke fordi jeg tvivler på din ærlighed, men jeg havde jo givet svaret > 7 min før dit indlæg..... Så måske kan vi finde en mere retfærdig deling.....
Ja jeg har givet pointene, så mere kan jeg ikke gøre, men til moses, jeg vil gerne afprøve din metode af ! Da jeg stadig synes at det går røvsygt langsomt, men det er jo kun en access database, jeg kan bedre li MS SQL...
Ja - du har bemærket forskllen i min og de andres løsning !!! Med hensyn til min løsning og den med NOT EXISTS, så er de ikke helt ens !! Der bliver i de andres løsning kørt en SELECT for hver eneste record i den primære tabel. Min løsning henter de to tabeller én gang og kører så querien.
Jeg kørte den på en database, med over 1600 records i begge tabeller. Det sagde bare snap - og så var den der !!
Synes godt om
Ny brugerNybegynder
Din løsning...
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.