我有两张桌子 - 乐队和乐队2。带:
和band2:
列是等于的。我正在使用Access 2010.我想SELECT行WHERE band.Kampas<> band2.Kampas,但是没有主键所以我不能使用JOIN操作。 也许有人有想法?
答案:
仅在这些行band.Kampas<> band2.Kampas。 提前谢谢。
答案 0 :(得分:1)
如果我理解正确,这就是你想要的:
Select * from band where kampas not in (select kampas from band2)
union
Select * from band2 where kampas not in (select kampas from band)
EDIT。好吧,可能不是在Access中不起作用。看起来这可行,但是:
Select * from band2 where not exists (select * from band where band.kampas = band2.kampas)
这会在内部选择中找到一个选择,其中kampas匹配,我们想要选择那些在内部选择中返回空选择的band2行。
如果你想这样做双向(也就是从乐队中找到),就像我在第一次尝试时那样使用联盟。
答案 1 :(得分:1)
SELECT b2.*
FROM band2 b2
WHERE b2.kampas NOT IN (SELECT b1.kampas
FROM band b1
WHERE b1.kampas IS NOT NULL)
AND b2.kampas IS NOT NULL
答案 2 :(得分:0)
这个怎么样:
select *
from Band as B1
inner join Band2 as B2
on B1.Stotis = B2.Stotis
where B1.Kampas <> B2.Kampas