我將兩個表'device'和'unit'連接在一起。設備定義了設備的類型,單元是指向設備表中的一行的唯一設備,定義了它的類型。獲取表B中參考表B的行數
我現在正在尋找一種解決方案,以從'設備'中選擇每種設備類型並計算指向此設備的單位數量。我在我目前的解決方案面臨的問題,
SQL:
SELECT device.*, COUNT(unit.id)
FROM device LEFT JOIN unit ON device.id = unit.device_id GROUPBY device.id
斯卡拉油滑:
def devicesWithUnitCount = for {
(device, unit) <- TableQuery[TDDevice] joinLeft TableQuery[TDUnit]
on (_.id === _.deviceID)
groupBy (_._1)
} yield (device, unit.size)
是我得到的至少1計數結果,即使沒有指向設備類型的單位。
如何在SQL中實現這種計數,或者最好是Slick?
使用deviceid而不是設備。*? –
這將如何解決計數問題? – th3falc0n
想象你會得到一個值爲1,2,someval1,someval2,null的行..其中1是deviceid。這仍然會導致計數爲1 –