Har tre stycken tabeller som heter lank, sub och kat.
Försöker räkna ut hur många länkar (lank.lank_namn) det finns där posten har samma sub_id (lank.sub_id).
Använder jag mig av:
Set RecSet = Connect.Execute("SELECT count(lank.lank_id) as antal FROM lank WHERE lank.sub_id = 1")
Så ger den korrekt svar (dvs 2), men såfort jag försöker blanda in de andra tabellerna för att få fram annan information så börjar den plötsligt ge felaktiga svar.
Följande kod:
Set RecSet = Connect.Execute("SELECT kat.*, sub.*, count(lank.lank_id) as antal FROM lank, sub, kat WHERE lank.sub_id = 1 GROUP BY lank.lank_id")
Ger svaret 12.
Jag gissar på att det är min GROUP BY som är fel, men jag har ingen aning om vilket fält den ska grupperas efter. Någon som kan hjälpa mig?
Fick det att fungera med följande kod, men kan någon vara vänlig o förklara vad GRUOP BY är till för och hur det ska användas?
Set RecSet = Connect.Execute("SELECT kat.*, sub.*, count(DISTINCT lank.lank_id) as antal FROM lank, sub, kat WHERE lank.sub_id = 1 GROUP BY lank.sub_id")
[r]
*bah* Fungerar ändå inte när jag försöker köra det med resten av koden.
Jag vill räkna ut hur många länkar det finns i var kategori.
Första posten i lank är:
lank_id = 1
sub_id = 1
kat_id = 1
lank_namn = Adam
Andra posten blir således:
lank_id = 2
sub_id = 1
kat_id = 1
lank_namn = Bertil
Jag kan räkna ut hur många det finns i var kategori, men om jag i samma fråga vill plocka fram kat.kat_namn och sub.sub_namn så blir allting galet.
Jag tycker att följande kod borde fungera:
Set RecSet = Connect.Execute("SELECT kat.kat_namn, sub.sub_namn, count(DISTINCT lank.lank_id) as antal FROM kat, sub, lank WHERE lank.sub_id = sub.sub_id GROUP BY lank.lank_id ORDER BY kat.kat_namn, sub.sub_namn, lank.lank_namn ASC")