結合クエリを探しています。実際には、メインの 3 つのテーブルがあります。
- Category [cat_id(PK), cat_name]
- Product [pro_id(PK), cat_id(FK),pro_name]
- Company [com_id(PK), cat_id(FK),pro_id(FK),...]
これで、リスト ビューにカテゴリのリストが表示されました。したがって、ユーザーが削除をクリックすると、選択したカテゴリが削除されます。
これで、単一のテーブルを確認できます同じcat_id
ものが他の2つのテーブルで使用されているかどうか?
if(check cat_id is used in other tables or not)
{
alert("you can't delete because category is used by some other table(s).");
}
else
{
alert("record deleted.");
}
NOT IN
これで、likeを使用して単一のテーブルから同じことを確認できます。
DELETE FROM CATEGORY WHERE cat_id NOT IN (SELECT DISTINCT cat_id FROM PRODUCT);
これにより、選択した cat_id が PRODUCT テーブルで使用できない場合にのみ削除されます。
私JOIN QUERY
も以下のように試してみましたが、
SELECT CATEGORY.cat_id FROM CATEGORY INNER JOIN PRODUCT ON CATEGORY.cat_id = PRODUCT.cat_id;
しかし、私は3番目のテーブルを使用する方法がわかりません.だから、どうすれば複数のテーブルをチェックできるのだろうか.
このクエリの解決にご協力ください。