我总是得到“使用的选择语句有不同的列数”错误。
select Sublessee_uname, Sublessee_fname, Sublessee_mname, Sublessee_fname from sublessee
union
select Sublessee_space, Sublessee_product from space_reserve
该错误几乎是不言自明的。在第一个SELECT
你有4 列,而在第二个你有2 个列。为了使用UNION
,两个 s 中的列数SELECT
必须匹配。
根据您的一些评论,在我看来您需要加入而不是它们的联合。
通常,要连接两个表,其中一个必须有一列或多列引用另一个。由于您的查询中显示的列似乎不包含在连接条件中使用的正确列,而且我现在不知道您的两个表拥有哪些其他列,我将假设有一个Sublessee_Id
列在两个表中。检索所需数据的查询将如下所示:
SELECT
s.Sublessee_uname,
s.Sublessee_fname,
s.Sublessee_mname,
s.Sublessee_fname,
r.Sublessee_space,
r.Sublessee_product
FROM sublessee s
LEFT JOIN space_reserve r /* or, depending on the requirements,
INNER JOIN space_reserve r */
ON s.Sublessee_Id = r.Sublessee_Id
;
如果你想了解更多关于 JOIN 语法的信息,你可以试试这个手册页:
在一个union
列数需要匹配。尝试
select Sublessee_uname, Sublessee_fname, Sublessee_mname, Sublessee_fname
from sublessee
union
select Sublessee_space, Sublessee_product, null, null
from space_reserve
在联合情况下,查询中的列数应相同供您参考,请检查此 联合