webForumDet fria alternativet

Nästlad query

Databaser & SQLur Databashanterare & SQL

5 svar · 240 visningar · startad av NoiseMaker

Medlem sedan sep. 2001171 inlägg
Frågan#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';

Medlem 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
Medlem 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* =)

Medlem 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!

Medlem 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. :)

Medlem 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 =)

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