22. december 2004 - 11:53
Der er
11 kommentarer og 1 løsning
SQL SELECT streng og id er ens
Hej med jer og glædelig jul Jeg skal lave en SQL-sætning hvor jeg selecter alle kontakter der har samme kundeId. Jeg har en tabel [kontakt] der indholder følgende kolonner, som jeg forestiller mig skal bruges til: iKundeid, iKontaktid, sNyhedsbrev Jeg ønsker at selecte alle kontakter der har samme kontaktid og hvor sNyhedsbrev indeholder strengen true. Hvordan gøres det?
Annonceindlæg fra Academic Work Denmark A/S
22. december 2004 - 11:58
#1
Hva heter tabellene dine, feltene som binder dette sammen og hva heter feltene du skal hente ut?
22. december 2004 - 12:00
#2
select kolonner,kolonner from dintabel1,dintabell2 where dintabell1.kolonneid=dintabell2.kolonneid and snyhedsbrev=1
22. december 2004 - 12:05
#3
Der er kun tale om 1 tabel. Den hedder kontakt. Vi kan sige at jeg skal bruge feltnavnet sKontaktnavn. Dvs. at sKontaktnavn skal selectes hvis der i tabellen kontakt eksisterer 2 kontakter med samme kundeId og hvor sNyhedsbrev = 'true'.
22. december 2004 - 12:14
#4
SELECT * FROM kontakt tb1 WHERE (SELECT COUNT(*) FROM kontakt tb2 WHERE tb2.kundeid=tb1.kundeid) > 1
22. december 2004 - 12:15
#5
SELECT * FROM kontakt tb1 WHERE (SELECT COUNT(*) FROM kontakt tb2 WHERE tb2.kundeid=tb1.kundeid) > 1 AND sNyhedsbrev = 'true'
22. december 2004 - 12:15
#6
Mener du at to kunder kan ha samme kundeid en tabell? Er ikke kundeid autonummer?
22. december 2004 - 12:19
#7
Bemærk at det ikke er kundetabellen men kontakttabellen. Primærnøgle er kundeid. Der kan altså godt være 2 kontakter med samme kundeid.
22. december 2004 - 12:24
#8
Er tilbage om 30 min. Det ser umiddelbart ud til at virke.
22. december 2004 - 13:04
#9
Hvad gør jeg så hvis jeg kun ønsker 1 kontakt med hvert kundeid? Dvs. recordsettet skal være "distinct" på kundid?
22. december 2004 - 13:21
#10
Forklar litt bedre.
22. december 2004 - 13:24
#11
Mener du sånn? SELECT * FROM kontakt tb1 WHERE (SELECT COUNT(*) FROM kontakt tb2 WHERE tb2.kundeid=tb1.kundeid) > 1 AND sNyhedsbrev = 'true' AND kundeid=5
22. december 2004 - 13:30
#12
Ok. Prøver at forklare bedre. I først SQL-sætning findes alle kontakter hvor kundeid er ens og sNyhedsbrev = true. Men jeg kunne godt tænke mig kun at få alle kontakter hvor kundeid er ens og sNyhedsbrev = true, men kun 1 kontakt med samme kundeid skal hentes. Og det er ligegyldigt hvilken af de kontakter, der har ens kundeid, som bliver selectet.
Kurser inden for grundlæggende programmering