不确定在查询中使用什么:左联接-内部联接-Where子句

JD Gamboa

我有两个表,雇员和薪水:

employee                salary
|---------|---------|   |--------|----------|----------|
| ID      | Name    |   | E_ID   | Amount   | Status   |
|-------------------|   |------------------------------|
| 1       | Matt    |   | 1      | 100      | Past     |
| 2       | John    |   | 1      | 120      | Current  |
| 3       | David   |   | 2      | 150      | Current  |
|---------|---------|   |--------|----------|----------|

并且我需要他们之间的联接,该联接将返回我的雇员工资信息:如果不在薪水表中,则返回null;如果重复,则返回一个值(该值标记为“当前”,与“过去”相对)。

在此示例中,我要求的回报是:

|---------|---------------|---------------|
| ID      | Name          | Amount        |
|---------|---------------|---------------|
| 1       | Matt          | 120           |
| 2       | John          | 150           |
| 3       | David         | NULL          |
|---------|---------------|---------------|

我最初尝试了

WHERE employee.ID=salary.E_ID

但这会让大卫离开。

我尝试了左联接

...
employee
LEFT JOIN salary ON employee.ID=salary.E_ID

但这两次显示了Matt,如果我添加where子句

...
employee
LEFT JOIN salary ON employee.ID=salary.E_ID
WHERE salary.status='Current'

大卫再次离开。

不知道如何进行。

谢谢您的帮助。

狗仔队
LEFT JOIN salary 
  ON employee.ID = salary.E_ID
 AND salary.status = 'Current'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带内部联接的where子句不适用于订单表

在Oracle查询中将联接从Where子句移动到From子句

Cakephp3,如何在cakephp3中使用where子句和内部联接?

联接表上的where子句

SQL内部联接的where子句

在PHP中使用WHERE子句和多个左联接

两个表选择“内部联接”,并按“ order by”,“ where”和“ limit”子句

Mysql左联接仅在一个表中使用where子句检查记录

使用WHERE子句的GROUP BY和SQL中的OR进行左联接

没有WHERE子句的SQL内部联接

MySQL:在where子句中使用联接表列值

在where子句中的最大id上左联接

我可以在内部联接子句之前包含where子句吗

两个表中带有where子句的内部联接的Postgres索引

SQL在左联接中使用内部查询

MySQL-使用WHERE子句的内部联接

sql-在带内部联接的where子句中引用列的更快/更好的方法是什么?

Where子句和内部联接语法查询

使用sql中的where子句创建左联接条件

内部联接查询与内部联接..on和where子句查询之间的区别?

With子句和内部联接技巧

为什么在多where子句起作用的情况下,内部联接查询不起作用

将“或”应用于内部联接的where子句ActiveRecord

使用where子句更新2个表的内部联接

具有内部联接的SQLLite Where子句

带where子句的内部联接

mysql,多个表使用WHERE子句联接

选择 DISTINCT 值,其中 where 子句在内部联接上返回多个结果

MySql:检查内部联接返回的所有行的 where 子句