sql union错误

时间:2012-09-23 16:54:15

标签: mysql sql

我总是得到“使用过的select语句有不同的列数”错误。

select Sublessee_uname, Sublessee_fname, Sublessee_mname, Sublessee_fname from sublessee
union
select Sublessee_space, Sublessee_product from space_reserve

4 个答案:

答案 0 :(得分:1)

错误几乎是不言自明的。在第一个SELECT中,您有 4列,而在第二个中您有 2列。要使用UNIONSELECT中的列数必须匹配。

答案 1 :(得分:0)

union列中需要匹配的列数。尝试

select Sublessee_uname, Sublessee_fname, Sublessee_mname, Sublessee_fname
from sublessee     
union
select Sublessee_space, Sublessee_product, null, null
from space_reserve

Simplified Fiddle example

答案 2 :(得分:0)

在联合案例中,查询中的列数不应相同 如需参考,请查看 UNION

答案 3 :(得分:0)

根据您的一些评论,在我看来,您需要两个表的 join 而不是 union

通常,要连接两个表,其中一个表必须有一列或多列引用另一个表。由于您的查询中显示的列似乎不包含在连接条件中使用的正确的列,并且我现在还不知道您的两个表具有哪些其他列,我将两个假设有一个{两个表中的{1}}列。然后,检索所需数据的查询将如下所示:

Sublessee_Id

如果您想了解有关JOIN语法的更多信息,可以尝试以下手册页: