私はuserIDとtaskIDを含む1つのテンポラリテーブルを持っています。 CompletedTasksと呼ばれます。私はuserIDとtaskIDを含む2番目のテーブルを持っています。 PlannedTasksと呼ばれます。mysql "where not in" 2つのカラムを使用する
完了したが予定されていないすべてのtaskIDのリストを取得する必要があります。だから、私は何とか完了したタスクからすべての行を取り除く必要があります。PlannedTasks.userID != CompletedTasks.userID AND PlannedTasks.taskID != CompletedTasks.taskID
。
この質問は意味があると思います。不明な点がある場合はお知らせください。詳細を説明します。
ありがとうございました!
ステータスを示すために追加の列が必要だと思いますが、本当に2つのテーブルは必要ありません。 – ajreal
@ajrealそれは良い点です。おそらく、あなたが提案した方法でスキーマを調整することを検討します。ヒントをよろしく! – PFranchise
私は、1つのテーブルと2つのテーブルより2つのテーブルと、その99%のステータスカラムを好んでいます。 1つのテーブルと11のステータスカラムを持つ11のテーブル。 1つまたは複数のステータス列(MysQL)を検索するクエリを最適化するのは簡単ではありません。 –