在我當前的項目中,我擁有分配給它們的設施的用戶組。我需要的是展現用戶組的名稱,這是部門,這是描述和數量的分配給它的設施。我有些已經能夠做到這一點,如下圖所示:在計數中包含0不適用於額外的where子句
當前「成功」的結果
,我現在面臨的問題是,當我添加一個where子句指出已被刪除的設施應包括不包括。下面是產生上述結果我的SQL語句:
語句來實現上述
SELECT ug.usergroupname UserGroupName, dpt.deptname Department, ug.usergroupdesc UserGroupDesc, count(ugf.usergroupid) NumOFFacilities
FROM tblusergroup ug
LEFT JOIN tblusergroupfacilities ugf
ON ug.usergroupid = ugf.usergroupid
LEFT JOIN tbldepartment dpt
ON dpt.deptcode = ug.deptcode
LEFT JOIN tblfacility f
ON ugf.facilityid = f.facilityid
WHERE ug.isdeleted = 0
GROUP BY ug.usergroupname, dpt.deptname, ug.usergroupdesc
然而結果是,當我添加的where子句不包含已刪除的設施,它產生一個整體的其他結果:
編輯聲明
SELECT ug.usergroupname UserGroupName, dpt.deptname Department, ug.usergroupdesc UserGroupDesc, count(ugf.usergroupid) NumOFFacilities
FROM tblusergroup ug
LEFT JOIN tblusergroupfacilities ugf
ON ug.usergroupid = ugf.usergroupid
LEFT JOIN tbldepartment dpt
ON dpt.deptcode = ug.deptcode
LEFT JOIN tblfacility f
ON ugf.facilityid = f.facilityid
WHERE ug.isdeleted = 0
AND f.isdeleted = 0 //<-------added clause
GROUP BY ug.usergroupname, dpt.deptname, ug.usergroupdesc
更改結果
有什麼辦法都實現扣除上述刪除設施的結果?任何幫助真的會被讚賞。
添加條件外一個基本原則聯接:關於外部表的條件 - >添加到,條件對內部表 - >添加到ON:'LEFT JOIN tblfacility˚F ON ugf.facilityid = f.facilityid AND f.isdeleted = 0' – dnoeth
**變更結果**是電流輸出,正確?你能否確認,並加上所需的結果? – KtX2SkD
@dnoeth我試過了,但它給了我第一個輸出。 –