是否可以在左连接中过滤?

阿尔瓦罗·加西亚

我有三个表,Clients、Bills 和 BillsStates。我想总是得到客户,如果它有账单,只有可以修改的账单。我正在尝试这样的事情:

select * from Clients
left join Bills on Bills.IDClient = Clients.IDClient
left join BillsStates on BillsStates.IDBillState = Bills.IDState
and BillsStates.AllowModify = 1

问题是我得到了客户的所有账单,无论它们是否可以修改。

我试图以正确的方式加入,但在这种情况下我没有得到任何结果。

连接是否可能,或者我可能需要一些子查询?我更喜欢有连接的解决方案,但如果没有办法以这种方式做到这一点,我会接受另一个解决方案。

萨尔曼

您的查询只是BillsStates.*BillsStates.AllowModify = 1条件失败时替换为空值

| IDClient | Name | IDClient | IDState | Name   | IDBillState | AllowModify |
|----------|------|----------|---------|--------|-------------|-------------|
| 1        | John | 1        | 1       | Bill 1 | NULL        | NULL        |
| 1        | John | 1        | 2       | Bill 2 | 2           | 1           |
| 2        | Jane | NULL     | NULL    | NULL   | NULL        | NULL        |

重新排列连接类型和条件以获得所需的结果:

SELECT *
FROM Clients
LEFT JOIN (Bills
INNER JOIN BillsStates ON BillsStates.IDBillState = Bills.IDState) ON Bills.IDClient = Clients.IDClient AND BillsStates.AllowModify = 1;
| IDClient | Name | IDClient | IDState | Name   | IDBillState | AllowModify |
|----------|------|----------|---------|--------|-------------|-------------|
| 1        | John | 1        | 2       | Bill 2 | 2           | 1           |
| 2        | Jane | NULL     | NULL    | NULL   | NULL        | NULL        |

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果vb.net中的列名不同,是否可以使用左外部连接sql语句

来自分类Dev

是否可以在emberjs中过滤多个值?

来自分类Dev

是否可以在R中过滤Corrplot / Cormatrix?

来自分类Dev

在 Laravel 5.4 中是否有 Eloquent 的左连接方式

来自分类Dev

在 Postgres 中左连接

来自分类Dev

在Java中,是否可以监听外部Monitor的连接/断开连接?

来自分类Dev

是否可以使用data.table index-join-assignment惯用法进行左连接并将i的不匹配行中的NA分配给x?

来自分类Dev

左连接带过滤器

来自分类Dev

如果表名称在“左连接”中颠倒了,是否会导致“右连接”?

来自分类Dev

是否可以根据Kibana中的计数进行过滤?

来自分类Dev

是否可以按XPath中的名称空间过滤?

来自分类Dev

是否可以在python中过滤DynamoDB查询结果?

来自分类Dev

是否可以在Django模板中过滤“相关字段”?

来自分类Dev

在Excel中是否可以根据使用的公式进行过滤?

来自分类Dev

是否可以在 Postgres 中执行需要过滤的 upsert?

来自分类Dev

CriteriaQuery中的条件左连接

来自分类Dev

子查询中的左连接

来自分类Dev

从左连接中删除行

来自分类Dev

是否可以跟踪用户活动会话中的Internet断开连接?

来自分类Dev

是否可以在WinRT中连接/合并视频文件?

来自分类Dev

Juju是否可以连接处于不同环境中的服务?

来自分类Dev

是否可以在棘轮连接中存储其他变量

来自分类Dev

是否可以在Web Worker中创建SignalR流连接

来自分类Dev

Juju是否可以连接处于不同环境中的服务?

来自分类Dev

内连接中的 JPA 变换左连接

来自分类Dev

是否可以过滤LLDB输出?

来自分类Dev

HQL中是否提供Oracle左外连接语法速记符号(+)?

来自分类Dev

如何在jooq查询中左连接时检查记录是否为空

来自分类Dev

MySQL内连接VS左连接w /是否不为空?

Related 相关文章

  1. 1

    如果vb.net中的列名不同,是否可以使用左外部连接sql语句

  2. 2

    是否可以在emberjs中过滤多个值?

  3. 3

    是否可以在R中过滤Corrplot / Cormatrix?

  4. 4

    在 Laravel 5.4 中是否有 Eloquent 的左连接方式

  5. 5

    在 Postgres 中左连接

  6. 6

    在Java中,是否可以监听外部Monitor的连接/断开连接?

  7. 7

    是否可以使用data.table index-join-assignment惯用法进行左连接并将i的不匹配行中的NA分配给x?

  8. 8

    左连接带过滤器

  9. 9

    如果表名称在“左连接”中颠倒了,是否会导致“右连接”?

  10. 10

    是否可以根据Kibana中的计数进行过滤?

  11. 11

    是否可以按XPath中的名称空间过滤?

  12. 12

    是否可以在python中过滤DynamoDB查询结果?

  13. 13

    是否可以在Django模板中过滤“相关字段”?

  14. 14

    在Excel中是否可以根据使用的公式进行过滤?

  15. 15

    是否可以在 Postgres 中执行需要过滤的 upsert?

  16. 16

    CriteriaQuery中的条件左连接

  17. 17

    子查询中的左连接

  18. 18

    从左连接中删除行

  19. 19

    是否可以跟踪用户活动会话中的Internet断开连接?

  20. 20

    是否可以在WinRT中连接/合并视频文件?

  21. 21

    Juju是否可以连接处于不同环境中的服务?

  22. 22

    是否可以在棘轮连接中存储其他变量

  23. 23

    是否可以在Web Worker中创建SignalR流连接

  24. 24

    Juju是否可以连接处于不同环境中的服务?

  25. 25

    内连接中的 JPA 变换左连接

  26. 26

    是否可以过滤LLDB输出?

  27. 27

    HQL中是否提供Oracle左外连接语法速记符号(+)?

  28. 28

    如何在jooq查询中左连接时检查记录是否为空

  29. 29

    MySQL内连接VS左连接w /是否不为空?

热门标签

归档