私はさらに、このようなサブクエリを実行し、サブクエリを実行する必要のあるMySQLのクエリがあります。今、このクエリはエラーunknown column t1.id.
を投げて誰が最も内側にt1 table
列を使用する方法を伝えることができますしてください内側のサブクエリで外側テーブルの列を使用する方法mysqlのwhere節?
SELECT id,
(SELECT COUNT(*) AS total FROM
(SELECT * FROM t3 WHERE t3.abcId = t1.id) t2
WHERE /*conditions*/) as total
FROM t1 WHERE /* condtions */;
をサブクエリwhere
句。
SELECT id, @var := t1.id,
(SELECT COUNT(*) AS total FROM
(SELECT * FROM t3 WHERE t3.abcId = @var) t2
WHERE /*conditions*/) as total
FROM t1 WHERE /* conditions */;
しかし、この場合には
@var
は、それが最初の行の取得など、すべての行すなわち合計が同じ値を返すために更新され得ていない:私はまた、このような
@variables
を通じてT1の列の値を渡すことを試みました。これにはどんな解決策も提案してください。
注: - 非常に複雑な計算のため、クエリのフローを更新することはできません。上記のクエリは、元のクエリフローの単なる例です。
をt1.id T1副選択で – Jens
私はすでにそれがエラーを取得した後に学びます。私はそれをしなければならないので、私は他の解決策を求めています。 – Ritesh