2014-03-05 99 views
0

我在查詢中遇到問題。我想顯示一個字段,其中包含來自其他表上的計數結果。很難解釋,但我希望你能幫助我。
這樣我想要的結果,如:從其他表中的計數結果中顯示新字段

select id, name, car from tbl_people,tbl_vehicle 

「汽車」領域是從車輛表計數(車輛),其中該表中的字段是id和車輛的結果。車輛字段包含(EX)轎車,自行車,摩托車,(任何其他車輛) 的結果,我想是這樣的:

id | name | car 
----------------- 
01 | john | 3 (example) 

感謝您的關注

+0

請顯示示例數據爲您的預期結果。 –

+0

我只是說,兩張桌子,一個人和一輛車。親身體驗id和名字等領域。和車輛一樣id,vehicle_name。 vehicle_name包含ex:汽車,自行車,(其他車輛)。我想要結果就像我在我的問題上畫的表。你可以幫幫我嗎? –

+0

這兩個表格之間沒有任何關聯,所以要了解計數所需的內容有點困難。 –

回答

0

通常你結束了一個子查詢。不知道你的ID,但這樣的:

select p.id, p.name, p.cnt 
from tbl_people p 
inner join 
    (select personid, count(1) as Cnt 
    from tbl_vehicle 
    where vehicle_name = 'Car' 
    group by personid) v 
on v.personid = p.id 
order by p.name 
+0

也會算其他車嗎?我只需要一個特定的字段。如何添加vehicle_name ='car'?我可以在哪裏放置它? –

+0

@RezaKahfi見編輯,我補充說:where vehicle_name ='Car' – JBrooks

0

你可以試試這個太:

select t1.id, t1.DeptID, count(t2.DeptId) as count 
from t1 join t2 on t1.DeptID=t2.DeptId group by t2.DeptId; 

取代T1和T2與相應的表名和列與相應的列名。如果你想有一個where子句,你可以組之前by子句像添加:

select t1.id, t1.DeptID, count(t2.DeptId) as count 
from t1 join t2 on t1.DeptID=t2.DeptId and t2.Name like '%a%' 
group by t2.DeptId; 

工作撥弄here

提示:讓T1是tbl_people和T2是tbl_vehicle。連接將在ID上,並且可以用tbl_vehicle.ID替換count(t2.DeptId)(如果是重複或tbl_vehicle.pId)並且t2.Name可以替換爲tbl_vehicle.Name

相關問題