1

我在 sql 中有 3 个表

Prdnum
1
2
3
4
5
6
7

prdnum        Pid             Data

1              1             somedata
1              2             somedata
2              1             somedata
3              1             somedata
3              2             somedata
4              1             somedata

稳定

Prdnum                      brand
1                           somedata
2                           somedata
3                           somedata 
4                           somedata  

Prdnum是主键。这里我需要选择PrdnumfromPTable和 brand belongs PrdnumfromStableDatafromQTable属于Prdnum,还有一个条件是Prdnumdon't have Pid=2in QTable

我尝试了一些代码,例如

SELECT Prdnum 
FROM PTable 
WHERE Prdnum NOT IN (SELECT Prdnum FROM QTable WHERE Pid=2) 

但是我如何从其他表中选择Brand和?Data

4

2 回答 2

2
select * 
from Qtable
inner join STable 
on Qtable.prdnum = STable.prdnum
where (Qtable.prdnum <> 2);

我忽略了 PTable,如果此表中的产品在其他 2 个表中不可用(使用外连接),您可以包含它

于 2013-05-15T13:03:43.357 回答
2
SELECT p.Prdnum, s.Brand, q.Data
FROM PTable p
JOIN STable s on p.Prdnum = s.Prdnum
JOIN QTable q on p.Prdnum = q.Prdnum
WHERE q.Pid != 2
于 2013-05-15T13:05:16.833 回答