データベースからユーザーのリストを取得するための SQL ステートメントを作成しようとしています。ただし、いくつかの落とし穴があります。
- すべてのユーザーが会社を持っているわけではありませんが、これらの人々をリストに表示する必要があります。
- ユーザーが会社を持っていても、その会社は論理的に削除される可能性があり (レコードはデータベースに残っていますが、is_deleted = 1 のフラグが付けられています)、「削除された」会社に関連付けられているユーザーを表示したくありません。 .
したがって、基本的には、ユーザー テーブルから選択し、会社テーブルに LEFT JOIN したいのですが、ユーザーが割り当てられている会社が is_deleted の場合、ユーザー レコードをまったく含めたくありません。
私の最初の傾向は、UNION を使用して 2 つのクエリをマージする必要があるということですが、それを行うためのよりクリーンな方法があることを望んでいましたか?
Mysql 5.1 の使用