22. januar 2011 - 18:37
Der er
6 kommentarer og 1 løsning
Sql streng
Hejsa Jeg laver denne sql først: select cardno, count(laundryauditcode) as L into test2 from tenant where laundryaudticode = 0 group by cardno order by L DESC; Det laver en ny tabel med 2 kolonner: cardno, L L er antallet gange et kort er oprettet... Herefter kan jeg så se hvilke kort der er oprettet 2 gange.... Men kunne jeg ikke gøre det lidt smartere?? Således at istedet for at oprette en temp-tabel, kunne lave opslaget i en og samme forespørgelse.....??
Annonceindlæg fra Cognizant
22. januar 2011 - 18:44
#1
select cardno, count(laundryauditcode) as L into test2 from tenant where laundryaudticode = 0 group by cardno having L >= 2 måske
22. januar 2011 - 18:55
#2
Hmm..... ok... men jeg kunne så godt tænke mig at trække en kolonne mere med over.....
22. januar 2011 - 20:13
#3
Men hvis der for en værdi af cardno er flere værdier i den kolonne, hvad vil du så have?
23. januar 2011 - 08:58
#4
Hej Arne Jeg har løst det sådan i første omgang: SELECT cardno, count(laundryauditcode) as l into temptable from tenant where laundryauditcode = 0 group by cardno having count(laundryauditcode) >= 2; SELECT tenant.id, tenant.cardno, laundryauditcode as auth from tenant, temptable where tenant.cardno = temptable.cardno order by cardno, id; Men naturligvis ville jeg gerne koge det hele ned til een streng, således at der ikke nødvendigvis skal laves en temp.table..... ///Henning
23. januar 2011 - 14:18
#5
prøv med: SELECT id,cardno,laundryauditcode FROM tenant WHERE cardno IN (SELECT cardno FROM tenant WHERE laundryauditcode = 0 GROUP BY cardno HAVING COUNT(laundryauditcode) >= 2) ORDER BY cardno,id
23. januar 2011 - 19:16
#6
Helt perfekt...... Den sætning har jeg dog været utroligt tæt på, havde bare valgt at søge på et andet kriterie :o) smid et svar
23. januar 2011 - 19:22
#7
svar
Computerworld tilbyder specialiserede kurser i database-management