使用select语句格式化输出

时间:2016-07-19 02:15:01

标签: mysql sql

我有两个选择语句,如下所述

SELECT 'MY OUTPUT'
SELECT * FROM MY TABLE

执行时我的输出首先打印,然后下一次选择会有间隙。

我想使用类似UNION的内容来组合两个语句。

我正在使用:

SELECT 'MY OUTPUT' UNION
SELECT * FROM MY TABLE

但是,我收到了错误:

  

使用UNION,INTERSECT或EXCEPT运算符组合的所有查询在其目标列表中必须具有相同数量的表达式。

2 个答案:

答案 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}}查询的输出。