我有两个表:
table_subcategories - sub_categories_id, sub_category_name, sub_category_image_path
table_subcategory_categories - subcategory_id, category_id
我想从 table_subcategories 中获取所有子类别,这些子类别在具有给定 Category_id 的“table_subcategory_categories”中不存在映射条目
我正在使用此查询,但结果不正确。
my $sql_query = "SELECT TSC.sub_categories_id, TSC.sub_category_name, TSC.sub_category_image_path from table_subcategories as TSC
INNER JOIN
table_subcategory_categories as TSCC
ON
TSC.sub_categories_id = TSCC.subcategory_id
WHERE
TSCC.category_id != $cId ";
有人可以帮我解决一下这个问题吗?
最佳答案
使用左连接
并检查是否没有匹配项:
SELECT TSC.*
from table_subcategories TSC LEFT JOIN
table_subcategory_categories TSCC
ON TSC.sub_categories_id = TSCC.subcategory_id AND
TSCC.Category_Id = $cId
WHERE TSCC.category_id IS NULL;
关于MYSQL 查询未返回正确的行集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29195814/