[英]Invalid Column Name in union clause
I am trying to add a fixed value 'ALLE'
to my column with a union clause, but I get an error: 我正在尝试使用union子句向列中添加固定值
'ALLE'
,但出现错误:
Invalid column name BoltPattern
无效的列名BoltPattern
at my order by
clause 根据我的
order by
条款
How exactly do I do this? 我到底该怎么做?
SELECT 'ALLE'
UNION
SELECT BoltPattern
FROM [OminiTire].[Data].[WheelData]
WHERE BoltPattern IS NOT NULL
GROUP BY BoltPattern
ORDER BY
CASE
WHEN BoltPattern = 'ALLE'
THEN 1
ELSE 2
END, BoltPattern
I recommend using a subquery . 我建议使用子查询。 .
。 .
。 and
union all
: 并
union all
:
SELECT BoltPattern
FROM ((SELECT 'ALLE' as BoltPattern, 1 as ord)
UNION ALL
(SELECT DISTINCT BoltPattern, 2 as ord
FROM [OminiTire].[Data].[WheelData]
WHERE BoltPattern is not null
)
) x
ORDER BY ord, BoltPattern;
Notes: 笔记:
UNION
incurs overhead to remove duplicates. UNION
会产生开销以除去重复项。 UNION ALL
does not. UNION ALL
则没有。 SELECT DISTINCT
to be more succinct than using the GROUP BY
. SELECT DISTINCT
比使用GROUP BY
更简洁。 CASE
expression. CASE
表达式更易于维护。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.