別名フィールドを持つサブクエリとして(読みやすくなるように、私は私の作業クエリを単純化しています):MySQLのUNIONは、私が怒鳴るようUNIONクエリを持って
SELECT count(*) FROM
(SELECT DISTINCT `tableA`.`Store Name` FROM `tableA` UNION SELECT DISTINCT `tableB`.`Store Name` FROM `tableB`) t
これは正常に動作して、単一の数の結果列名のCOUNT(*)
と私は別のクエリに別の列としてこの値を取得したいので、私は実行します。
SELECT DISTINCT `tableC`.`id as PID,
(SELECT count(*) from (SELECT DISTINCT `tableA`.`Store Name` FROM `tableA` UNION SELECT DISTINCT `tableB`.`Store Name` FROM `tableB`) t) AS noofstores
WHERE
.....;
しかし、それは動作文句を言いません!私は間違って何をしていますか?これは、大きなクエリの一部である、と私は貧しいエラーの説明のために申し訳ありません
,
(SELECT ....) AS column_name
,
を行う際に他のすべてのサブクエリは正常に動作します。アップデート: これは私の完全なクエリです:私は労働組合の権利とすべてを持っていたよう
SELECT DISTINCT
`tableC`.`id` as PID,
(SELECT count(*)
from
(SELECT DISTINCT `tableA`.`Store Name` FROM `tableA` WHERE `tableA`.`id` = PID
union
SELECT DISTINCT `tableB`.`Store Name` FROM `tableB` WHERE `tableB`.`id` = PID) t) AS mycolumn_name
FROM
`tableC`
は見えるが、問題は、私は労働組合内にrefferingいPIDです:
1054 - 不明な列「PID 'in' where句 '
どうすればこの問題を解決できますか?
Plsは正確なエラーメッセージを出力しますが、それだけでは機能しません。あなたのサンプルクエリでは、 'from'節がありませんが、それはサンプルコードの問題です。要点は、正確なエラーメッセージと完全な質問がなければ、何が間違っているのかを知ることは不可能です。 – Shadow
私のポストを更新しました。 –