10. januar 2000 - 00:23Der er
15 kommentarer og 2 løsninger
Forståelse af DISTINCT
Hej
Nu har jeg siddet og rodet med det her DISTINCT i noget tid. Nogle gange kan jeg være heldig jeg rammer det i første hug, andre gange skal der fifles en del, men nu er jeg sgu kørt sur i det. Jeg ville gerne hvis der var en der kunne forklare mig, hvordan DISTINCT virker, og hvilke hensyn man skal tage når man konstruere ens sql-sætning, for jeg tror jeg har lagt mærke til at der skal være en speciel sammensætning før det ligesom funker, og man får smidt en masse dublette ud..
Well, håber der er en der kan få tågen til at lette :-)
DISTINCT i en SQL sætning betyder at den kun skal vise unike poster - dvs. hvis du har 2 poster der har værdien "Peter" i feltet "fornavn", så vil der UDEN distinct komme 2 felter, men MED distinct OG hvis tabel.fornavn bliver brugt som en (eller flere!)betingelse(r), så vil der kun komme et felt - også selv om at begge poster opfylder betingelserne
SELECT DISTINCT [tblNummer1.Id], [tblNummer1.navn], [tblNummer1.id2] FROM tblNummer1 WHERE id2 = 2 OR id2 = 4 OR id2= 6 OR id2 = 8 OR id2 = 9 ORDER BY tblNummer1.Id;
Jeg skal så have alle de forskellige tblNummer1.Id der opføler betingelserne, men jeg får dubletter ?
DISTINCT returnerer unikke records baseret på hvilke felter du har specificeret i din select. Dvs. både id, navn og id2 skal være ens før der bliver sorteret noget ud...
Baunsgaard: Nu er min sql-sætning dynmisk og er her baberet ned for at det er lettere at overskue det. 2 og 4 er altså et par værdier der kan være alt lige fra 1-1000000000 :-)
Tak for inspirationen, jeg leger videre med det :-)
Mvh Emil
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.