将`SELECT ...`UNION ALL``SELECT` ..转换为更有效的东西?

卢卡斯·萨利奇(Lukas Salich)

我有以下查询,该查询有效,但是我想可以将其改进为更有效的方法,该怎么做?

  1. 所有值均来自1个表格
  2. 结果的第一部分始终是2行,具有某些关系,其中所有字段都已设置为1行
  3. 结果的第二部分是某些条件未包含在第一部分中但已经具有正确字段的行
    SELECT
      row1.field1 AS field1,
      row1.field2 AS field2,
      row2.field3 AS field3,
    FROM
      table1 row1
    JOIN
      table1 row2
    ON
      row1.field = row2.field_reference
    UNION ALL
    SELECT
      field1,
      field2,
      field3,
    FROM
      table1
    WHERE
      condition = 'I_am_sure_those_rows_are_not_returned_in_the_SELECT_above'
鲨鱼

*在阅读@jarlh对另一个答案的评论后编辑-应该是空的。

怎么样-在WHERE子句中使用LEFT JOIN加上OR语句应返回row2表中的所有内容以及满足您其他条件的所有内容。

SELECT
row1.field1 AS field1,
row1.field2 AS field2,
coalesce(row2.field3, row1.field3) as field3
FROM table1 row1
LEFT JOIN table1 row2 ON row1.field = row2.field_reference

WHERE 
row2.field_reference is not null
OR condition = 'I_am_sure_those_rows_are_not_returned_in_the_SELECT_above'

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将`SELECT` ..`UNION ALL``SELECT` ..转换为更有效的东西?

来自分类Dev

什么是交叉联接(SELECT 0 as a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION...)

来自分类Dev

将UNION ALL转换为JOIN

来自分类Dev

如何使我的SELECT查询更有效?

来自分类Dev

UNION SELECT不显示所有列

来自分类Dev

UNION SELECT不显示所有列

来自分类Dev

Union All Select有两个表,列数不匹配,是否需要辅助查询?

来自分类Dev

UNION ALL,将NULL转换为双精度,Postgres

来自分类Dev

将pandas数据框函数转换为更有效的函数

来自分类Dev

检查是否相等时将String转换为Int或将Int转换为String更有效?

来自分类Dev

MS Access SQL:将SELECT INTO与UNION ALL查询一起使用

来自分类Dev

执行 DistinctBy().Select() 或 Select().DistinctBy() 是否更有效?C#

来自分类Dev

有没有更有效的方法将毫秒转换为这种格式“{minutes}:{seconds}”?

来自分类Dev

ORACLE将两个SELECT与UNION相加

来自分类Dev

如何将select *与union结合使用?MySQL的

来自分类Dev

将这个 JavaScript 对象转换为更有用的结构的最有效方法是什么?

来自分类Dev

使增量计数器和多个SELECT语句更有效

来自分类Dev

使增量计数器和多个SELECT语句更有效

来自分类Dev

MySQL UNION SELECT缺少字段

来自分类Dev

MySQL UNION SELECT和IN子句

来自分类Dev

Mysql UNION SELECT缺少字段

来自分类Dev

MySQL UNION SELECT和IN子句

来自分类Dev

禁用 MySQL 的 UNION SELECT 查询

来自分类Dev

在检查值是否在集合中时,将列表转换为集合是否整体上更有效

来自分类Dev

PostgreSQL:使用没有“ UNION SELECT”的虚拟表优化功能

来自分类Dev

带有 SELECT AS 子查询的 Oracle SQL UNION

来自分类Dev

将Google BigQuery的逗号用作带有IN子句的UNION ALL

来自分类Dev

将值列表放入没有UNION ALL的结果集中

来自分类Dev

如何使用select inside select将查询转换为Oracle

Related 相关文章

  1. 1

    将`SELECT` ..`UNION ALL``SELECT` ..转换为更有效的东西?

  2. 2

    什么是交叉联接(SELECT 0 as a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION...)

  3. 3

    将UNION ALL转换为JOIN

  4. 4

    如何使我的SELECT查询更有效?

  5. 5

    UNION SELECT不显示所有列

  6. 6

    UNION SELECT不显示所有列

  7. 7

    Union All Select有两个表,列数不匹配,是否需要辅助查询?

  8. 8

    UNION ALL,将NULL转换为双精度,Postgres

  9. 9

    将pandas数据框函数转换为更有效的函数

  10. 10

    检查是否相等时将String转换为Int或将Int转换为String更有效?

  11. 11

    MS Access SQL:将SELECT INTO与UNION ALL查询一起使用

  12. 12

    执行 DistinctBy().Select() 或 Select().DistinctBy() 是否更有效?C#

  13. 13

    有没有更有效的方法将毫秒转换为这种格式“{minutes}:{seconds}”?

  14. 14

    ORACLE将两个SELECT与UNION相加

  15. 15

    如何将select *与union结合使用?MySQL的

  16. 16

    将这个 JavaScript 对象转换为更有用的结构的最有效方法是什么?

  17. 17

    使增量计数器和多个SELECT语句更有效

  18. 18

    使增量计数器和多个SELECT语句更有效

  19. 19

    MySQL UNION SELECT缺少字段

  20. 20

    MySQL UNION SELECT和IN子句

  21. 21

    Mysql UNION SELECT缺少字段

  22. 22

    MySQL UNION SELECT和IN子句

  23. 23

    禁用 MySQL 的 UNION SELECT 查询

  24. 24

    在检查值是否在集合中时,将列表转换为集合是否整体上更有效

  25. 25

    PostgreSQL:使用没有“ UNION SELECT”的虚拟表优化功能

  26. 26

    带有 SELECT AS 子查询的 Oracle SQL UNION

  27. 27

    将Google BigQuery的逗号用作带有IN子句的UNION ALL

  28. 28

    将值列表放入没有UNION ALL的结果集中

  29. 29

    如何使用select inside select将查询转换为Oracle

热门标签

归档