我正在寻找连接查询。其实我有主要的三张桌子。
- 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
其他两个表使用相同?
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);
如果它在 PRODUCT 表中不可用,这只会删除选定的 cat_id。
即使我也尝试JOIN QUERY
过如下,
SELECT CATEGORY.cat_id FROM CATEGORY INNER JOIN PRODUCT ON CATEGORY.cat_id = PRODUCT.cat_id;
但我不知道如何使用第三张表。所以,我想知道如何检查多个表。
请帮助解决这个问题。