0

我有一个类别表如下

id     |    name       |  parent_of    |   created_on
-------+---------------+---------------+---------------------
1      |   Name 1      |  0            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
2      |   Name 2      |  0            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
3      |   Name 3      |  1            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
4      |   Name 4      |  1            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
5      |   Name 5      |  3            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
6      |   Name 6      |  3            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------

如表中所示,某些类别具有子类别。

在此表中如下。指定表 ID

1
  |--> 3
  |   |--> 5
  |   |--> 6
  |--> 4
2

我的问题是在添加产品时,需要为每个产品选择类别。但只需要显示结束类别。即不需要显示 id 1 和 3,因为它不是结束。只需要显示 5,6,4 和 2 (这些是列表中没有任何类别的类别)

任何人都可以帮助我列出类别下拉列表的 MySQL 查询吗?

提前致谢

4

2 回答 2

2

我希望,这就是你想要的。

SELECT id FROM category where ID NOT IN (SELECT DISTINCT parent_of FROM category) ORDER BY id DESC
于 2013-06-03T05:51:15.593 回答
0
SELECT c.* FROM categories c 
LEFT JOIN categories c1 ON c.id = c1.parent_of
WHERE c1.id IS NULL
于 2013-06-03T06:00:33.647 回答