gpt4 book ai didi

sql - 使用 UNION 向 SELECT 语句添加参数会更改记录号

转载 作者:行者123 更新时间:2023-12-04 14:09:30 25 4
gpt4 key购买 nike

当我向 UNIONSELECT 子句添加一个新参数时,我得到了更多的记录……这怎么可能? UNION 不是只是将它们混合在一起吗?示例:

编辑:它们绝对不同。 code 列是“IN”或“OUT”,这就是我用来分隔两者的方法。

EDIT2:UNION ALL 给了我 80 条记录,就像它应该的那样,但这很奇怪,因为我的两个 SELECT 语句是完全不同的。

最终编辑:最终问题是我的一个 SELECT 语句中的记录不是 DISTINCT,而不是在两个 SELECT 语句之间。谢谢大家。

-- Yields 76 records
SELECT
f.date
, f.code
, f.cost
FROM a.fact f
WHERE f.code = 'IN'
UNION
SELECT
f2.date
, f2.code
, f2.cost
FROM a.fact2 f2
WHERE f2.code = 'OUT'
;

-- Yields 80 records
SELECT
f.key
, f.date
, f.code
, f.cost
FROM a.fact f
WHERE f.code = 'IN'
UNION
SELECT
f2.key
, f2.date
, f2.code
, f2.cost
FROM a.fact2 f2
WHERE f2.code = 'OUT'
;

最佳答案

UNION 更改为 UNION ALL,您应该会得到相同的结果。 UNION 选择不同的行,UNION ALL 应该选择所有。

关于sql - 使用 UNION 向 SELECT 语句添加参数会更改记录号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21489465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com