13. december 2006 - 12:38Der er
8 kommentarer og 1 løsning
Hjælp til select statement
Hej,
jeg har brug for hjælp. Jeg har en tabel "documents" der indeholder 2 kolonner "filename" og "Account". Jeg skal bruge en select der udsøger alle records hvor filename er det samme og hvor accountname er forskellige. F.eks.
filename account doc1 1 doc1 1 doc1 2 doc2 2
den select jeg skal bruge skulle gerne returnere følgende:
doc1 1 doc1 2
hvis jeg laver følgende statement: SELECT filename FROM documents GROUP BY filename HAVING(COUNT(filename) > 1)
så får jeg alle records hvor filename fremgår mere end 1 gang, men hvordan tilføjer jeg betingelsen at det kun skal være dem hvor account ikke er den samme
Jeg kan også omformulere mit spørgsmål lidt.....hvordan laver man et select statement der udvælger records hvor indholdet af kolonne X er det samme og indholdet af kolonne Y er forskelligt.
hej...sorry jeg postede inden jeg så din besked. Jeg har lige prøvet dit statement men det virker desværre ikke efter hensigten. Oversat til det virkelige liv ser min statement sådan ud:
SELECT DISTINCT DOCUMENTNAME, ACCOUNTNUM FROM Axdb.VENDINVOICEDOCUMENT WHERE(DOCUMENTNAME IN (SELECT documentname FROM axdb.vendinvoicedocument GROUP BY documentname HAVING (COUNT(documentname) > 1)))
jeg lavede en test men der kommer også records med hvor dokumentnavn findes flere gange men hvor accountnum er det samme
Hejsa - ja det kan jeg godt se ikke er helt godt. Vil det her hjælpe i en test? Jeg har lige brugt de samme betegnelser som før, så du må selv lige oversætte til hvad dine kolonner og tabel hedder :)
SELECT DISTINCT filename, account FROM Documents WHERE filename IN ( SELECT filename FROM Documents GROUP BY filename HAVING((COUNT(filename) > 1) AND (COUNT (DISTINCT account) > 1)) )
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.