gpt4 book ai didi

MYSQL 获取主要类别

转载 作者:行者123 更新时间:2023-11-29 18:29:51 25 4
gpt4 key购买 nike

我有以下查询,列出了与之相关的类别和父类别。

t.term_id is the category ID
tx.parent is the ID of category from which they depend from.
Main Categories have parent id= 0

这就是问题所在,因为查询不显示主类别,而只显示子类别。基本上它只显示父级>0的记录,但我需要父级=>0。我已经将其置于 where 条件中,但它不起作用。

SELECT t.term_id, t.name, tx.parent, tm.name
from mg_terms t

join mg_term_taxonomy tx
on tx.term_id = t.term_id

join mg_terms tm
on tm.term_id = tx.parent

where tx.taxonomy='product_cat'
ORDER BY `tx`.`parent` DESC

对于获取主要类别(parent=0)有什么帮助吗?

最佳答案

您可以使用 UNION select 并连接两个结果:

SELECT t.term_id, t.name, tx.parent, tm.name
FROM mg_terms t
JOIN mg_term_taxonomy tx ON tx.term_id = t.term_id
JOIN mg_terms tm ON tm.term_id = tx.parent
WHERE tx.taxonomy='product_cat'
UNION
SELECT t2.term_id, t2.name, tx2.parent, null
FROM mg_terms t2
JOIN mg_term_taxonomy tx2 ON tx2.term_id = t2.term_id
WHERE tx2.taxonomy='product_cat' AND t2.parent = 0
ORDER BY parent

或从 mg_terms t 和 LEFT JOIN mg_terms tm 中选择全部,正如 sagi 所建议的那样。

SELECT t.term_id, t.name, tx.parent, tm.name
FROM mg_terms t
JOIN mg_term_taxonomy tx ON tx.term_id = t.term_id
LEFT JOIN mg_terms tm ON tm.term_id = tx.parent
WHERE tx.taxonomy='product_cat'
ORDER BY `tx`.`parent`

关于MYSQL 获取主要类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45783375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com