现在我需要两个
1.与给定程序有关系的所有设备
2.与给定programid没有关系的所有设备
我尝试了以下
SELECT d.id, d.deviceno, d.devicename FROM devices d
LEFT JOIN programdevices pd ON pd.program = 3 and pd.device = d.id
WHERE pd.device is null / is not null
但我总是得到一个空洞的结果。 感谢大家指出我正确的方向
答案 0 :(得分:0)
试试这个:
SELECT d.id, d.deviceno, d.devicename, case when pd.programid IS null then 'NO' else 'YES' End as Relation FROM devices d LEFT JOIN programdevices pd ON pd.device = d.id
使用此功能您将获得列Relation
的所有设备。如果关系字段为YES
,那么如果NO
您没有关系,则您有其他关系。
答案 1 :(得分:0)
你可以试试这个。我想它可以帮到你...
SELECT d.deviceno, d.devicename, p.programname
FROM devices d
JOIN programdevices pd ON pd.deviceid = d.id
JOIN programs p ON p.id = pd.programid
WHERE p.id !=3
LIMIT 0 , 30