gpt4 book ai didi

MYSQL 选择与联合中的别名相同的列名不起作用

转载 作者:行者123 更新时间:2023-11-29 03:53:58 25 4
gpt4 key购买 nike

我有一个联合两个表的简单 MYSQL 查询:

SELECT * FROM (
SELECT col1 AS col1A FROM table1
UNION
SELECT col1 AS col1B FROM table2
) AS t WHERE col1A <> col1B

我在两个表中都有一个名为 col1 的列,我需要只选择与该列具有不同值的行,因此我选择它们作为别名。当我运行这个查询时,我得到:

Unknown column 'col1B' in 'where clause'

表1数据:

col1
----
test

表2数据:

col1
----
test

查询不应返回任何行,因为 table1 中 col1 中的每个值都等于 table2 中 col1 中的每个值,而不是它返回 table2 中的 col1 是未知的,尽管我选择它作为别名

最佳答案

我认为您需要查找UNION 的适当用法。它将返回第一个查询的所有结果以及第二个查询的所有结果。这会产生一个数据集,只有一个列(不是 col1 和 col2),在这种情况下只是 col1。

假设您要获取表 1 中不存在于表 2 中的所有记录,您可以使用 NOT EXISTS:

SELECT col1 
FROM table1 t1
WHERE NOT EXISTS (
SELECT 1
FROM table2 t2
WHERE t1.col1 = t2.col1
)

关于MYSQL 选择与联合中的别名相同的列名不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26006407/

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