意図は無条件です LEFT JOIN
、異なる CROSS JOIN
から 右側のテーブル式に一致するものがない場合でも、左側のテーブル式のすべての行が返されます-CROSS JOIN
そのような行を結果から削除します。マニュアルの結合の詳細。
ただし:
1=1
無意味です PostgresおよびAmazonRedshiftを含むすべての派生物で。 true
を使用するだけです 。これはおそらく、boolean
をサポートしていない別のRDBMSから引き継がれています。 正しく入力してください。
... LEFT JOIN (SELECT ...) ue ON true
次に、LEFT JOIN
SELECT MIN(modified) FROM user
を使用したこの特定のサブクエリには意味がありません SELECT
であるため、右側にあります 集計関数(min()
)およびGROUP BY
はありません 句は常に正確に1行を返します。この場合(ただし、行がない他の場合は除く) 見つかる可能性があります)は、次のように簡略化できます:
... CROSS JOIN (SELECT MIN(modified) AS first_modified FROM user) ue