1

会社のシステムで開発しているときにジレンマに陥りましたが、プロジェクト管理は問題ではありません!

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 - 使用されている SELECT ステートメントの列数が異なります

ただし、これを例として使用すると、Mysql JOIN (複数) テーブルが回答としてマークされているため、クエリは明らかに有効です。どこで間違ったのですか?

次の結合は、2 つのテーブルをマージします。

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

問題なく動作します

4

3 に答える 3

1

UNIONを使用している場合、両方の select ステートメントの列数は等しくなければなりません。

UNION 内の各 SELECT ステートメントは、同じ数の列を持つ必要があります

于 2013-08-26T20:17:41.717 に答える