我有一个数据库表(Support_help_topic),其中包含以下数据:
topic_id | topic_pid | topic
我想要做的是选择一个帮助主题,然后获取其所有父主题并将它们串联在一起。
以下面的示例为例。
有几个父级帮助主题:事件,请求,常规支持
这些父主题中的每个主题可能都有几个子主题,并且这些子主题下可能还有其他主题。
下面是完整的帮助主题路径的示例
事件/软件/ Microsoft Outlook
事件可能有
软件可能具有
Microsoft Outlook可能有
在每种情况下,我都需要在一个选择语句中获得以下任一条件:
如果该主题有父母,我需要获得: -Top_Level_Topic /主题
如果该主题没有父母,我需要获得:
我对此深感困惑,不知道从哪里开始。
在此先感谢您的帮助。 非常乐意提供所需的其他信息。
答案 0 :(得分:0)
我最终使用了以下内容:
SELECT
CASE
WHEN t2.topic IS NULL then t1.topic
WHEN t3.topic IS NULL then concat(t2.topic, ' / ', t1.topic)
ELSE concat(t3.topic, ' / ', t2.topic, ' / ', t1.topic)
END as help_topic
FROM
Support_help_topic AS t1
LEFT JOIN
Support_help_topic AS t2 ON t2.topic_id = t1.topic_pid
LEFT JOIN
Support_help_topic AS t3 ON t3.topic_id = t2.topic_pid
where
t1.topic_id = `supptick`.`topic_id`