我在sql中有3个表
PTABLE :
Prdnum
1
2
3
4
5
6
7
Qtable :
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
是主键。在这里,我需要从Prdnum
中选择PTable
,从Prdnum
选择品牌Stable
,Data
中的QTable
属于Prdnum
,另一个条件是Prdnum
Pid=2
中没有QTable
。
我尝试了一些像
这样的代码SELECT Prdnum
FROM PTable
WHERE Prdnum NOT IN (SELECT Prdnum FROM QTable WHERE Pid=2)
但如何从其他表中选择Brand
和Data
?
答案 0 :(得分:2)
select *
from Qtable
inner join STable
on Qtable.prdnum = STable.prdnum
where (Qtable.prdnum <> 2);
我忽略了PTable,您可以包含它,以防此表中的产品在其他2个表中不可用(使用外部联接)
答案 1 :(得分: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