我做了3個表格,問題是我正在計算表格中的板塊數量,並將其與特定策略進行比較。如何計算重複的列?
TABLES
|vehicles|
|id| |plate|
1 VEH001
2 VEH002
3 VEH003
4 VEH004
5 VEH001
6 VEH002
|policy_vehicles|
|id| |vehicle_id| |policy_id|
1 1 1
2 2 1
3 3 1
4 4 2
5 6 3
|policies|
|id| |description|
1 POL1
2 POL2
3 POL3
欲當板名稱上重複在這種情況下「VEH001」「數據庫」進行計數,重複1次在桌子上的車輛從policy_id = 1
例如policy_id = 1
Policy: POL1
Has 3 policy_vehicles
Has 3 plates (VEH001, VEH002, VEH003)
VEH001 and VEH002 are repeated in the DB = 2 plates repeated
我試圖顯示此爲r esult
REPEATED
2
又如計數時,不重複關於在這種情況下「VEH004」「數據庫」板名不重複對錶車輛從policy_id = 2
例如policy_id = 2
Policy: POL2
Has 1 policy_vehicles
Has 1 plates (VEH002)
VEH002 is repeated in the DB = 1 plate repeated
我想表明這是結果
REPEATED
0
又如計數時板名稱上重複在這種情況下「VEH002」「數據庫」被重複在桌子上的車輛從policy_id = 3
例如policy_id = 3
Policy: POL3
Has 1 policy_vehicles
Has 1 plates (VEH004)
VEH004 is not repeated
我「M試圖證明這是結果
REPEATED
1
Select count(*) FROM (
SELECT count(*), v.plate
FROM vehicles v
LEFT JOIN policy_vehicles pv ON v.id = pv.vehicle_id
and pv.policy_id = 2
GROUP by v.plate
HAVING count(*) > 1) A
請有人可以幫助我嗎?
您的預期結果沒有意義。車輛1和車輛4不屬於同一政策,車輛5不屬於任何車輛。我不知道你怎麼能說他們重複? – AdamMc331