Sql union子句中的列名无效
我试图使用union子句将固定值Sql union子句中的列名无效,sql,sql-server,Sql,Sql Server,我试图使用union子句将固定值'ALLE'添加到我的列中,但出现错误: 无效的列名模式 在我的订购依据条款中 我该怎么做 SELECT 'ALLE' UNION SELECT BoltPattern FROM [OminiTire].[Data].[WheelData] WHERE BoltPattern IS NOT NULL GROUP BY BoltPattern ORDER BY CASE WHEN BoltPattern = 'ALLE'
'ALLE'
添加到我的列中,但出现错误:
无效的列名模式
在我的订购依据条款中
我该怎么做
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
我建议使用子查询。和
联合所有
:
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;
注:
会产生删除重复项的开销<代码>全部联合不起作用UNION
- 我发现
比使用SELECT DISTINCT
更简洁groupby
- 子查询允许您定义显式排序——在我看来,它比复杂的
表达式更易于维护CASE
联合所有
:
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;
注:
会产生删除重复项的开销<代码>全部联合不起作用UNION
- 我发现
比使用SELECT DISTINCT
更简洁groupby
- 子查询允许您定义显式排序——在我看来,它比复杂的
表达式更易于维护CASE