我有两个选择语句,如下所述
SELECT 'MY OUTPUT'
SELECT * FROM MY TABLE
执行时我的输出首先打印,然后下一次选择会有间隙。
我想使用类似UNION
的内容来组合两个语句。
我正在使用:
SELECT 'MY OUTPUT' UNION
SELECT * FROM MY TABLE
但是,我收到了错误:
使用UNION,INTERSECT或EXCEPT运算符组合的所有查询在其目标列表中必须具有相同数量的表达式。
答案 0 :(得分:1)
SELECT 'MY OUTPUT' # this query return one column
UNION
SELECT * FROM MY TABLE # this query return more than one column
列数必须相同
SELECT 'MY OUTPUT' UNION # return one column
SELECT column1 FROM MY TABLE # return one column now it will work
但我觉得你不想这样做吗?
SELECT 'MY OUTPUT',column1,Column2,column3 FROM MY TABLE
答案 1 :(得分:0)
所以这就是发生的事情:
您获得的错误(使用UNION,INTERSECT或EXCEPT运算符组合的所有查询在其目标列表中必须具有相同数量的表达式。)是因为一个select
中的列多于另一个[My Table]
您可以在第一个查询中使用与SELECT 'MY OUTPUT' , '', '' ,'', '' --(no. of columns should match those in MY TABLE)
UNION
SELECT * FROM [MY TABLE]
中相同的空白列,这样可以使您的查询看起来像:
select
我猜你想要一个excel样式的单元格合并,这不可能作为{{1}}查询的输出。