0

我有一个场景,如果条件满足其他表中的条件,我需要从一个表中选择行。

对不起,如果我感到困惑......

我使用 MySQL 作为数据库,使用 python 2.6 连接到数据库。

我有 empid、availability 的表员工 其他表使用 shot、empid、availability

我需要从worksempid 可用性与works员工表中相同的地方检索所有镜头

我已经在这里@fiddle 发布了我的 SQL

我需要我的结果如下

射击 empid 可用性

002 P4645 在线

003 P6682 在线

005 P4645 在线

006 P6682 在线

009 P4645 在线

010 P6682 在线

由于所有记录都在线工作表中。但是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'

因为它将动态生成

4

1 回答 1

3

尝试

select * 
  from work x join employee e
    on e.availability = x.availability
   and e.empid = x.empid

SQLFiddle

于 2013-05-23T08:15:26.530 回答