需要根据子表条件从主表中获取数据。
主表: -
ID Name Address
1 abc xyz
2 abs txt
3 aui tre
4 pop top
5 the tre
6 pot tos
7 pog sop
8 pat top
9 bat cric
10 not kot
子表: -
chid shootid imagename IDFK
101 234 123ab.jpg 3
102 234 54abcab.jpg 3
103 235 123abc.jpg 3
104 236 12390acb.jpg Null
105 235 12332aab.jpg 8
106 234 123786ab.jpg 4
107 234 54789abcab.jpg 10
108 235 122343abc.jpg 10
109 235 122123acb.jpg 4
110 234 12123aab.jpg 9
111 234 1223ab.jpg Null
112 233 5432abcab.jpg Null
113 235 1239abc.jpg Null
114 236 1238acb.jpg 2
115 236 12356aab.jpg 2
116 236 1235ab.jpg 2
117 236 545abcab.jpg Null
118 237 1233abc.jpg 1
119 237 1223acb.jpg 1
120 237 1123aab.jpg 1
在Child表中,IDFK是外键,Master表中的ID是其主键。
现在我想在主表中显示那些名称不存在于像where childtable.Shootid=234
这样的shootid上的子表过滤器上的名称。我尝试了但没有找到所需的输出。每次它都会为不同的shootid返回相同的内容。
请帮助我并向我展示正确的查询。
答案 0 :(得分:0)
我不知道我是否理解你,但我认为这就是你想要的,
Select * from [master] m
where m.ID not in (Select IDFK from detail where shootid=234)
答案 1 :(得分:0)
我认为这就是你要找的东西。
Select distinct m.name from master m LEFT OUTER JOIN child c
ON m.id = c.id and
c.shootid=234
where
c.id is null