从相同的表中选择相同的数据,只是条件与不同的列相同

乔纳森

我认为最好向您展示他首先进行查询:

    SELECT 
    Positive.Amount AS PosAmount, 
    Negative.Amount AS NegAmount, 
    booking.Correction
FROM (booking)
LEFT JOIN ( SELECT ID, Amount FROM booking WHERE Amount < 0 ) 
    AS Negative ON booking.ID = Negative.ID
LEFT JOIN ( SELECT ID, Amount FROM booking WHERE Amount > 0 ) 
    AS Positive ON booking.ID = Positive.ID

我在这里想要实现的是以下内容。我希望每次预订的金额取决于在不同列中是正数还是负数。还有可能以另一种便宜得多的方式吗?我的意思是,将表自身连接不是最佳方法,不是吗?

该表如下所示:

在此处输入图片说明

期望的结果是这样的:

在此处输入图片说明

提前致谢!

内维尔

您只需要在CASE此处使用一条语句。无需子查询和自联接:

SELECT
    CASE WHEN amount > 0 THEN amount END as posAmount,
    CASE WHEN amount < 0 THEN amount END as negAmount,
    correction
FROM booking

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从数据库中选择具有相同查询但条件不同的表中的数据?

来自分类Dev

SQL从两个不同的表中选择相同的列

来自分类Dev

从不同的表中选择和组织相同的列

来自分类Dev

为不同的条件选择相同的列列表

来自分类Dev

从数据库中选择不同行中的相同数据

来自分类Dev

在表的另一列中选择具有相同id但不同值的行

来自分类Dev

从不同的列中选择具有相同值的行

来自分类Dev

从不同的列中选择具有相同值的行

来自分类Dev

从具有相同 id 的单独表中选择数据

来自分类Dev

从具有相同列的两个表中选择

来自分类Dev

从具有相同列的多个表中选择 sum()

来自分类Dev

从具有相同列的多个表中选择

来自分类Dev

从不同的表中选择/加入具有相同列名的多个字段

来自分类Dev

从两个不同的表中选择相同索引处的行

来自分类Dev

从2个不同的表中选择值,并在具有相同ID的行中打印值

来自分类Dev

从2个不同的表中选择值,并在具有相同ID的行中打印值

来自分类Dev

从不同的表中选择/加入具有相同列名的多个字段

来自分类Dev

在PostgreSQL中选择第1列值相同但第2列值不同的行

来自分类Dev

SQL Server 2008,通过从不共享相同列信息的两个不同表中选择两个列来获取新表

来自分类Dev

SQL Server 2008,通过从不共享相同列信息的两个不同表中选择两个列来获取一个新表

来自分类Dev

查询相同但表不同

来自分类Dev

相同的 Html 不同的表

来自分类Dev

从具有相同ID的行中的不同列中选择值

来自分类Dev

在另一列中选择 id 相同但值不同的行 - SQL Server

来自分类Dev

使用不同表的相同列查询

来自分类Dev

PHP从不同的过程中选择相同的行

来自分类Dev

PHP从不同的过程中选择相同的行

来自分类Dev

从表和具有相同ID的SUM数量中选择数据

来自分类Dev

从表和具有相同ID的SUM数量中选择数据

Related 相关文章

  1. 1

    如何从数据库中选择具有相同查询但条件不同的表中的数据?

  2. 2

    SQL从两个不同的表中选择相同的列

  3. 3

    从不同的表中选择和组织相同的列

  4. 4

    为不同的条件选择相同的列列表

  5. 5

    从数据库中选择不同行中的相同数据

  6. 6

    在表的另一列中选择具有相同id但不同值的行

  7. 7

    从不同的列中选择具有相同值的行

  8. 8

    从不同的列中选择具有相同值的行

  9. 9

    从具有相同 id 的单独表中选择数据

  10. 10

    从具有相同列的两个表中选择

  11. 11

    从具有相同列的多个表中选择 sum()

  12. 12

    从具有相同列的多个表中选择

  13. 13

    从不同的表中选择/加入具有相同列名的多个字段

  14. 14

    从两个不同的表中选择相同索引处的行

  15. 15

    从2个不同的表中选择值,并在具有相同ID的行中打印值

  16. 16

    从2个不同的表中选择值,并在具有相同ID的行中打印值

  17. 17

    从不同的表中选择/加入具有相同列名的多个字段

  18. 18

    在PostgreSQL中选择第1列值相同但第2列值不同的行

  19. 19

    SQL Server 2008,通过从不共享相同列信息的两个不同表中选择两个列来获取新表

  20. 20

    SQL Server 2008,通过从不共享相同列信息的两个不同表中选择两个列来获取一个新表

  21. 21

    查询相同但表不同

  22. 22

    相同的 Html 不同的表

  23. 23

    从具有相同ID的行中的不同列中选择值

  24. 24

    在另一列中选择 id 相同但值不同的行 - SQL Server

  25. 25

    使用不同表的相同列查询

  26. 26

    PHP从不同的过程中选择相同的行

  27. 27

    PHP从不同的过程中选择相同的行

  28. 28

    从表和具有相同ID的SUM数量中选择数据

  29. 29

    从表和具有相同ID的SUM数量中选择数据

热门标签

归档