我的使用联接和联合的SQL查询有什么问题?

问题描述 投票:-1回答:4

我的SQL查询出了什么问题?我试图同时使用JoinUNION从另一个表中获取所有表,同时基于关系将其他表连接在一起。

但是出现以下错误:

"The used SELECT statements have a different number of columns"

我的查询:

SELECT a.ESN, a.UnixTime, a.Payload, a.Timestamp
                ,b.AlarmingStatus
                ,b.STxModel
                ,c.GroupID
                FROM STxMessage a
                JOIN STx b ON b.ESN = a.ESN
                JOIN GroupInfo c ON b.GroupID = c.GroupID
                WHERE b.STxModel = 190
                AND a.AlarmsChecked="y"
                AND c.AlertsMasterSwitch="on"
               UNION ALL 
      SELECT d.ESN , d.UnixTime,  d.Payload,  d.Timestamp FROM STxMessageArchive d

我的SQL查询出了什么问题?我试图使用一个Join和一个UNION同时从另一个表中获取所有表,同时基于关系将其他表连接在一起。但是我...

mysql sql union
4个回答
0
投票

您的第一个查询选择7列,而第二个查询仅选择4。您需要确保第二个查询选择的列数与第一个查询相同,以使Union All工作。


5
投票

错误消息说明了一切。


1
投票

嗨,这是您的第一个查询中的多余列


0
投票

正如错误所言,第一部分有7列,第二部分只有4列。联合需要在两侧都具有相同的列。要么删除

© www.soinside.com 2019 - 2024. All rights reserved.