Count(*) i sql

Tags:    sql

Hejsa,

Jeg har en masse kunder. Hver af dem har 0-mange aktiver og hver af disse aktiver kan have 0-mange LODNR. Jeg vil gerne have listet hvor mange lodnumre der er pr. kundes enkelte aktiver.
Vil dette virke? Hvis ikke - hvad gør jeg så?

SELECT KUNDENR
,AKTIVNR
,LODNR
,SUM(ANTAL) AS ANTAL
FROM
(
SELECT TAB1.KUNDENR AS KUNDENR
,TAB2.AKTIVNR AS AKTIVNR
,TAB4.LOD_NR_I AS LODNR
,COUNT(*) AS ANTAL
FROM KUNDETAB TAB1
INNER JOIN ADRESSETAB TAB2
ON TAB1.KUNDENR = TAB2.KUNDENR
AND TAB1.AKTIVNR = TAB2.AKTIVNR
INNER JOIN EJENDOM_DATATAB TAB3
ON TAB3.KUNDENR = TAB2.KUNDENR
AND TAB3.AKTIVNR = TAB2.AKTIVNR
INNER JOIN LOD_PR_MATRTAB TAB4
ON TAB4.KUNDENR = TAB2.KUNDENR
AND TAB4.AKTIVNR = TAB2.AKTIVNR
WHERE TAB1.UDGAA_D IS NULL
AND TAB3.ANDELSBOLIG_JN = 'J'
GROUP BY TAB1.KUNDENR
,TAB1.AKTIVNR
,TAB4.LOD_NR_I
) AS TEMP
GROUP BY KUNDENR
,AKTIVNR
,LODNR
;

På forhånd tak!
/Katrine.



1 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hejsa Katrine.

Jeg vil lige knytte en lille tanke til dit indlæg.
Førhen når jeg skulle skrive SQL, så gjorde jeg det som oftest via en PHP kode.
Det er også fint nok, men tager tid at debugge.

Så under min uddannelse til webudvikler (PBA), så kom det på banen at vi skulle anvende MySQL Workbench. Havde tidligere stiftet bekendtskab med det, meeeen var lidt skeptisk omkring da jeg følte det blot var en omvej.
I dag når jeg skal skrive SQL så anvender jeg hele tiden MySQL Workbench, af flere grunde.
Jeg kan hurtigt se mit output
Jeg kan bygge min SQL stille og roligt op.
Med din SQL kan man også gøre det stille og roligt og hele tiden bekræfte at dit udtræk virker og det retunere det som du ønsker.



t