これが状況です。2セットのデータがあります。1つは、システムが使用するすべての「チケット」エントリのリストです。IDごとに少なくとも1つですが、それ以上になる可能性があります。また、ハードウェアの問題がわかっているIDだけの別のリストもあります。これは、IDの比較的小さい(ただし重要な)サブセットです。このリストを非常に単純なテーブルBに配置しました。これは、文字通り、これらのIDのみを含む単一の列です。
これら2つのテーブルを結合するMySQLクエリが必要なので、テーブルAからすべてのエントリを取得します。各エントリには、同じIDがテーブルBに存在するかどうかという単純なブール値である別のフィールドが追加されています。
だからこのようなもの:
SELECT * FROM `table_A` A
LEFT JOIN `table_B` B ON A.id=B.id
Bが2列のテーブルで、2番目の列(これを呼び出すdown
)がtrue
すべての行にある場合、またはであるかどうかを確認できdown
ます。true
null
ただし、Bには列が1つしかないため、実際にはデータが結果に追加されません。
この「結合」操作を実行する簡単な方法はありますか(データベースにこの列がまったく不要です)、Aの特定のエントリのIDがBにも存在するかどうかを確認するだけです。
(上または下にある別のフィールドをAに追加することも、かなり非効率的です。これは、単一のIDに対して多くの行があり、ほとんどのIDがとにかく下がらないためです)