webForumDet fria alternativet

Nästlad query

5 svar · 240 visningar · startad av NoiseMaker

NoiseMakerMedlem sedan sep. 2001171 inlägg
#1

Tja

Behöver lite hjälp med hur man skriver en nästlad query (om det ens går).

Det jag har är en tabell med ett antal fält. Till detta har jag en annan tabell med relaterade poster. Det jag skulle vilja göra är att för varje post i 'huvudtabellen' även få ut hurmånga relaterade poster det finns i den andra tabellen.

Jag har försökt på följande sätt men inte lyckats. Gör jag fel eller går det inte göra?

SELECT
a.id,
a.name,
count(b.id)
FROM
table1 a,
table2 b
WHERE
a.id = 'q.id';

LarsGMedlem sedan dec. 200012 464 inlägg
#2
SELECT a.id, a.name,count(b.id)
FROM table1 a,table2 b
WHERE a.id = b.id
group by a.id, a.name
NoiseMakerMedlem sedan sep. 2001171 inlägg
#3

tackar för snabbt svar! Nu fattar jag genast bättre! Hmm.. fast jag har nog tänk fel någonstans. Count ger alltid resultatet 1 trots att det finns fler relaterade poster än det.

du har ingen lika snabb ide om varför?
*pushing my luck* =)

NoiseMakerMedlem sedan sep. 2001171 inlägg
#4

he he.. glöm det föresten.. som så ofta måste man kolla en extra gång innan man fråga igen =) Jag hade skrivigt fel!

Tack!

K@llenMedlem sedan mars 20032 667 inlägg
#5

Med "group by" så får du antal poster inom varje grupp ju. grupperar du på en unik kolumn så blir det alltid 1 skulle jag tro. Kan vara det som strular till det, men med sql-frågan ovan ska det inte bli så?

REDIGERAT: Oj, du hade löst det. :)

NoiseMakerMedlem sedan sep. 2001171 inlägg
#6

japp.. jag hade hål i hvudet och angav fel nyckelfält.. men nu flyter det på fint serru =)

123 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)