我有这张桌子
Tbllang:lname
Tbldata:id,title,parentid,lname
示例数据:
Tbllang: 恩 NL RU 德
Tbldata 1 samuel 0 en 2 samuelde 1 de 3 elena 0 en
Parentid为0或等于id。基本上我有多种语言的相同记录,没关系。
对撒母耳来说,我已经和已经去过了。我想要返回ru和nl。对于埃琳娜,我想要nl,ru和de。
以下sql语句失败:
Select lname from tbllang where tbllang.lname<>tbldata.lname and (id=1 and parentid=1)
我缺少什么?
答案 0 :(得分:0)
好像你需要使用[not] exists
运算符:
SELECT lname
FROM tbllange l
WHERE NOT EXISTS (SELECT *
FROM tbldata d
WHERE l.lname = d.lname AND d.id = 1)
答案 1 :(得分:0)
我希望tbllang有一个ID列,它是tbldata中的外键但你没有显示一个。如果有,那么你可以进行反半连接。
select lname from tblland a left join tbldata b on a.id = b.parentid where b.parentID is null
这将为你提供tbllang中tbldata中没有行的所有行