我是初学者,我需要帮助!!!!!
我有一个数据库:
文章: id, name, description, id_pic, lang, date
类别: id_cat, name_cat
图片 id_pic, image
sub_cat: id_subcat, name_subcat, id_cat
我需要在
上选择name, desc, image, name_subcat
SELECT
a.id, a.name, a.desc, sc.name_subcat, p.picture, a.id_subcat
FROM
article a, subcategory sc
LEFT JOIN
pictures p ON a.id_pic = p.id_pic
WHERE
a.id_subcat = sc.id_subcat
AND a.id_subcat IN (SELECT sc.id_subcat
FROM subcategory sc
WHERE id_cat = (SELECT id_cat
FROM category
WHERE name_cat = '???????'))
答案 0 :(得分:0)
试试这个:
SELECT a.id, a.name, a.desc,
sc.name_subcat, p.picture, a.id_subcat
FROM article a,
LEFT JOIN subcategory sc ON a.id_subcat = sc.id_subcat
LEFT JOIN categories c ON sc.id_cat = c.id_cat
LEFT JOIN pictures p ON a.id_pic = p.id_pic
WHERE c.name_cat = '??????'
只需将表subcategory
加入其他表而不是where a.id_subcat = sc.id_subcat
。此连接将确保a.id_subcat
中的任何subcategory
都在categories c
中,因此您也可以删除where子句中的子查询。您还需要加入JOIN
表。
您需要选择left
类型INNER
ot {{1}},具体取决于您从表中选择的数据。
答案 1 :(得分:0)
您似乎缺少某些联接定义。
四张桌子:
<强>文章强>:
<强>分类强>:
<强>子类别强>:
<强>图片强>:
我们需要了解Category / Subcategory与文章的关系。文章是否有与您遗失的链接的类别?
当你能得到我这些答案时,我可以为你完成一个加入过程。
编辑:我看到了丢失的字段。请忽略,我上面的答案很好。此致 杰森