このクエリは正当な構文ではなく、効率的な書き込み方法を理解しようとしています。これは私が持っているものです:派生カラムと複数の結合を使用するMySQLクエリを作成する適切な方法
SELECT a.*, b.id, lapsed FROM
(SELECT DATEDIFF(CURDATE(), MAX(day)) AS lapsed FROM c) AS x
FROM first_table a
INNER JOIN second_table b ON a.id = b.some_id
INNER JOIN third_table c ON c.user_id = a.user_id
WHERE a.some_col = 'm'
AND b.num >= lapsed
3つのテーブルが結合されています。通常これは簡単なことですが、問題はWHERE
節の最後の部分です。具体的には、b.num >= lapsed
はderived
という値で比較しています。これを書く正しい方法はありますか?
2 FROMは許可されません。しかし、サブクエリのLEFT JOINは可能です。 xの1行なので、結合ON条件は(1 = 1)になります。 – LukStorms
私はそれに応じてマークすることができますので、あなたは答えとしてクエリを提出することができます? – randombits
あなたと私は、あなたの質問にどこに問題があるかについて、さまざまなアイデアを持っています。 – Strawberry