2017-08-25 220 views
-3

我有兩個表,一個是'幫派'列表,一個是'gang_members'列表gang_members.gang_id指的是他們所在的gang.id,我知道如何計算在一個團伙的所有成員,但我需要加入以下查詢到一個:SQL連接計數和選擇查詢

SELECT * FROM gangs LIMIT 8 
SELECT count(gang_id) FROM gangs_members WHERE gang_id = <GANG ID> 

enter image description here

我認爲這是可能的,我可以做一個循環,而它的經歷的幫派,但這將是低效的

+2

目前尚不清楚你想要得到什麼。請提供一些樣本結果數據。 –

+0

認爲這很清楚,我的不好。我需要它來計算我從第一個查詢中得到的所有幫派成員的數量 – bloodless2010

+3

JOINing和AGGREGATING是非常基本的SQL概念。你應該對這些做一些教程。 –

回答

2
SELECT A.*, B.RC 
FROM gangs A 
LEFT JOIN (SELECT gang_id, COUNT(*) AS RC FROM gangs_members GROUP BY gang_id) B ON A.gang_id=B.gang_id 
1

可能是這樣的

SELECT count(gang_id) 
FROM gangs_members 
WHERE gang_id IN (SELECT gang_id FROM gangs LIMIT 8)