select 个具有相同 ID 但在其他列中不同的值
select values with same id but different in other column
我有这个 table。
拥有:
Pid Cid
100 1
100 2
200 1
200 3
300 4
400 1
400 4
400 5
500 2
500 4
我只需要select Cid = 1 但不是 Cid = 2 的 Pid
输出应该是:
pid
200
400
我的查询是:
SELECT Pid
FROM OWNS
WHERE Cid = 1 and Cid <> 2
但我得到结果:
pid
100
200
400
尝试
SELECT distinct Pid
FROM OWNS
WHERE
Pid not in (select Pid from OWNS where Cid = 2)
AND CID = 1;
或者这样:
SELECT `pid`
FROM `OWNS`
WHERE `cid` = '1'
AND `pid` in (SELECT `pid`
FROM `OWNS`
WHERE `cid` != '1' AND `cid` != '2')
我有这个 table。
拥有:
Pid Cid
100 1
100 2
200 1
200 3
300 4
400 1
400 4
400 5
500 2
500 4
我只需要select Cid = 1 但不是 Cid = 2 的 Pid 输出应该是:
pid
200
400
我的查询是:
SELECT Pid
FROM OWNS
WHERE Cid = 1 and Cid <> 2
但我得到结果:
pid
100
200
400
尝试
SELECT distinct Pid
FROM OWNS
WHERE
Pid not in (select Pid from OWNS where Cid = 2)
AND CID = 1;
或者这样:
SELECT `pid`
FROM `OWNS`
WHERE `cid` = '1'
AND `pid` in (SELECT `pid`
FROM `OWNS`
WHERE `cid` != '1' AND `cid` != '2')