【问题标题】:Combine 2 queries in the same result在同一结果中合并 2 个查询
【发布时间】:2015-05-29 05:06:21
【问题描述】:

我正在使用 oracle sql,我需要帮助。 我有两张桌子,一张是账单,另一张是收据。我必须在相同的结果中同时显示账单和收据,使用相同的列来显示信息。 例如:

Columns:  Date      - Time  - Number - Reference - Debit - Credit
Bill   : 25/05/2015 - 18:00 -   50   -  (empty)  - 500   -  0
Receipt: 25/05/2015 - 18:00 - (empty)-  Bill: 50 -  0    - 500

我有账单表的查询,我正在为收据表创建另一个,但我不知道如何“合并”它们。

有可能吗?

谢谢

更新: 我在这里添加这个是因为它是这个问题的一部分。 我的收据表没有我需要提供的所有信息,“参考”、“借方”、“贷方”

为了显示该信息,我必须从其他表中读取它,包括我的账单表,我已经开始这样做,我已经检查了查询的成本,它是巨大的,5890。至于账单查询它只有 13 的成本。

有没有办法降低成本?

【问题讨论】:

  • 您可以使用union all“合并”它们。如果您需要更多帮助,请显示您当前的查询。
  • 我猜你正在寻找UNION ALL。但这并不完全清楚。
  • 大概您想显示同一订单/交易的账单和收据 - 在任一表中是否有包含交易或订单号的列?

标签: sql oracle


【解决方案1】:

UNION ALL 运算符用于组合 2 个或多个 SELECT 语句的结果集。它返回查询中的所有行(即使该行存在于多个 SELECT 语句中)。

SELECT *
FROM bills
UNION ALL
SELECT *
FROM receipts;

【讨论】:

    【解决方案2】:

    按照之前的建议使用 UNION ALL,但请记住,要使 UNION ALL 正常工作,列应该完全相同。

    【讨论】:

    • namesUNION(或 UNION ALL)无关 - 数据类型很重要。
    猜你喜欢
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 2014-07-07
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多