gpt4 book ai didi

mysql - 无法合并 Select 和 Innerjoin

转载 作者:行者123 更新时间:2023-11-29 04:23:00 25 4
gpt4 key购买 nike

在为公司开发系统时,我遇到了一个两难的境地,而项目管理不在其中!

SELECT clients_owner.Name, clients_owner.`number`, clients_shops.Shopname, clients_shops.PostCode, clients_shops.Location
FROM clients_shops inner join clients_owner ON
clients_owner.ShopID = clients_shops.ShopID
UNION
SELECT clients_fans.Fan
FROM clients_shops inner join clients_fans ON
clients_shops.ShopID = clients_fans.ShopID

以下查询返回以下错误:

1222 - The used SELECT statements have a different number of columns

但以此为例:Mysql JOIN (multiple) tables被标记为答案,因此查询显然是有效的。我哪里出错了?

而下面的连接合并了两个表:

SELECT
clients_owner.Name, clients_owner.Number, clients_shops.Shopname, clients_shops.PostCode,
clients_shops.Location FROM clients_shops INNER JOIN clients_owner on
clients_owner.ShopID = clients_shops.ShopID

工作顺利

最佳答案

要使用 UNION,您必须:

  1. 两个请求中的列数相同。

  2. 每个SELECT语句对应位置的列应该有相同的数据类型。

您在第一个请求中有 5 列:

clients_owner.Name,
clients_owner.`number`,
clients_shops.Shopname,
clients_shops.PostCode,
clients_shops.Location

和第二个请求中的 1 列:

clients_fans.Fan

http://dev.mysql.com/doc/refman/5.0/en/union.html

关于mysql - 无法合并 Select 和 Innerjoin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18452249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com