SELECT r.`root_cat_name`,
r.`root_cat_id`,
s.`sub_cat_name`,
s.`sub_cat_id`
FROM `root_category` AS r
INNER JOIN `sub_category` AS s ON r.`root_cat_id` = s.`sub_cat_id`
ORDER BY r.`root_cat_id` DESC
我想从2个表中获取数据,其中root_cat_id是主键 我想显示所有子类别。
root cat:
id root_cat_name
-- -----
1 item1
2 item2
SUBCAT:
id root_cat_id sub_cat_name
-- ----------- ------
1 1 abc
2 1 sadj
3 2 asd
4 1 asdasd
答案 0 :(得分:1)
INNER JOIN `sub_category` s ON r.`root_cat_id` = s.`sub_cat_id`
应该是
INNER JOIN `sub_category` s ON r.`id` = s.`root_cat_id`
=>您需要使用表中定义的列名
编辑:
同样的原则适用于您的SELECT
。
如果要显示其他列名,请使用AS
:
SELECT r.id AS root_id, ...
答案 1 :(得分:0)
这是否有效:
SELECT r.root_cat_name,
r.root_cat_id,
s.sub_cat_name,
s.sub_cat_id
FROM root_category AS r
INNER JOIN sub_category AS s ON r.id = s.root_cat_id
ORDER BY r.id DESC
' r'必须是root_category中的列名,而且每个都在' s'必须是sub_category
中的列名