我正在尝试使用联合在 2 个表中获取所有不同的值。
这个想法是在不重复的情况下获取 columnA 列中所有唯一值的计数,以便我可以获得包含唯一 columnA 的所有列的总和。
这是我尝试过的(sql server express 2008)
select
count(Distinct ColumnA)
from
(
select Distinct ColumnA as ColumnA from tableX where x = y
union
select Distinct ColumnA as ColumnA from tableY where y=z
)
最佳答案
SELECT COUNT(distinct tmp.ColumnA) FROM ( (SELECT ColumnA FROM TableX WHERE x=y)
UNION (SELECT ColumnA FROM TableY WHERE y=z) ) as tmp
TableX 和 TableY 上的额外区别不是必需的;它们将在 tmp.ColumnA 子句中被剥离。声明一个临时表应该可以消除可能阻止您的查询执行的歧义。
关于sql - 在 2 个联合 sql server 表中获取不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1891016/