我对内连接、左连接命令有疑问。
我的类别表是:
ID | parent | title 1 | 0 | First Category 2 | 1 | Other Category
I have list categorys and I want get parents category title at sql command.
I have tried:
SELECT cat.ID, cat.title, cat2.title as parentcatname, cat.parent
FROM categories cat INNER JOIN categories cat2 ON cat2.ID=cat.parent
但是它不起作用。
最佳答案
您必须使用LEFT JOIN
才能提取所有类别,无论它们是否有父类别。 INNER JOIN
过滤掉所有不匹配的内容。
SELECT c.id, c.title, c.parent, p.title parent_title
FROM categories c LEFT JOIN categories p
ON c.parent = p.id
输出:
| ID | TITLE | PARENT | PARENT_TITLE | ------------------------------------------------- | 1 | First Category | 0 | (null) | | 2 | Other Category | 1 | First Category |
这里是SQLFiddle 演示
关于php&mysql 查找父类别名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17748533/