我有一个场景,我需要从一个表中选择行,前提是条件满足其他表。
很抱歉,如果我感到困惑......
我使用MySQL作为数据库,使用python 2.6连接到数据库。
我的表员工有empid,可用性 其他表与shot,empid,availability
一起使用我需要检索来自works
的所有镜头,其中works
的empid可用性与员工表中的相同
我需要我的结果如下
shot empid availability
002 P4645 Online
003 P6682 Online
005 P4645 Online
006 P6682 Online
009 P4645在线
010 P6682 Online
由于所有记录都在工作表中联机。但是empid 1863在employee表中是脱机的,因此应该检索除此empid以外的记录。我不能将此硬编码为此SQL
select x.shot,x.empid,x.availability from work x
inner join (
select empid,availability from employee where empid = 'P4645') y on y.availability = x.availability
where x.empid <> '1863'
因为它会动态生成
答案 0 :(得分:3)
尝试
select *
from work x join employee e
on e.availability = x.availability
and e.empid = x.empid
<强> SQLFiddle 强>