我的第一张桌子是emp_master
empid emailid
1 aaa@yahoo.com
2 ww@yahoo.com
3 rr@yahoo.com
4 dd@yahoo.com
我的第二张桌子是emp_resignation
empid status
1 resigned
3 resigned
现在,我想通过加入两个表来仅提取emailid
不是status
的{{1}}。
输出
resigned
任何人都可以提供链接,查询以上问题???? 拜托,朋友们。
答案 0 :(得分:0)
使用LEFT JOIN,并选择所有没有匹配的行。
SELECT emailid
FROM emp_master AS m
LEFT JOIN emp_resignation AS r ON m.empid = r.empid
WHERE r.empid IS NULL
答案 1 :(得分:0)
使用组连接(无法说明linq提供程序是否可以翻译它,但它对Linq to SQL或MS SQL的默认EF提供程序完全有效):
from e in db.emp_master
join r in db.emp_resignation
on e.empid equals r.empid into g
where !g.Any() || g.Any(r => r.status != "resigned")
select e.emailid
答案 2 :(得分:0)
MySQL脚本:
SELECT emailid
FROM emp_master em
JOIN emp_resignation er
ON em.empid = er.empid
WHERE er.status != 'resigned'
的LINQ:
from em in emp_master
join er in emp_resignation
on em.empid equals er.empid
where er.status != "resigned"
select em.emailid;