所以我在表格中有以下数据。
ID Name fID mID
1 Bob 135 100
2 James Null 100
3 Graham Null 100
4 Gemma 142 100
我想要做的是返回Bob,James,Graham,基于它们都在100的mID下,而且fID是135或NULL。这不包括Gemma,因为当她不到100时,她的fID为142,不是135或NULL。
到目前为止,我尝试过这样做:
SELECT ID, Name
FROM table1
WHERE mID=100 AND fID IN (SELECT fID FROM table1 WHERE fID=135 AND fID IS NULL)
但这没有任何回报。任何有用的建议。
答案 0 :(得分:2)
SELECT ID, Name
FROM table1
WHERE mID=100 AND (fID = 135 OR fID is NULL)
答案 1 :(得分:0)
在您的子选择中,您应该使用OR代替AND。
SELECT ID, Name FROM table1
WHERE mID=100 AND fID IN (SELECT fID FROM table1 WHERE fID=135 OR fID IS NULL)
错了,这里是正确的:
select id, name from table1 where mid = 100 and id in
(SELECT ID FROM table1 WHERE fID=135 OR fID IS NULL)