CREATE TABLE tabl1
(
t1_id tal räknare
t1_title text
)
CREATE TABLE table2
(
t2_id tal räknare
t2_t1_id tal
t2_title text
)
CREATE TABLE table3
(
t3_id tal räknare
t3_t2_id tal
t3_title text
)
Vad jag skulle vilja är att i en fråga räkna hur många t2 som finns i t1 och t3 som finns i varje t2 i t1. Första uträkningen går ju bra som nedan, men problemet är hur jag skall få in den andra räkningen i frågan.
SELECT t1_id, t1_title, (SELECT COUNT(t2_id) FROM table2 WHERE t2_t1_id = t1_id) as total2 FROM table1
Fick hjälp på annat ställe. Om någon är intresserad så blev detta lösningen.
Tom Ellison skrev:
Query1:
SELECT T1,t1_id, COUNT(*) As t2Count
FROM table1 T1
INNER JOIN table2 T2 ON T2.t2_t1_id = T1.t1_id
GROUP BY T1.t1_id
This is an alternative way to get the same result as you current one.
Query2:
SELECT T1.t1_id, COUNT(*) AS t3Count
FROM table1 T1
INNER JOIN table2 T2 ON T2.t2_t1_id = T1.t1_id
INNER JOIN table3 T3 ON T3.t3_t2_id = T2.t2_id
GROUP BY T1.t1_id
Now you can put it all together.
Query3:
SELECT Q1.t1_id, Q1.t2Count, Q2.t3Count
FROM Query1 Q1
LEFT JOIN Query2 Q2 ON Q2.t1_id = Q1.t1_id
259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e