TravelContentCreator/db/query_topics.sql
2025-07-11 15:29:39 +08:00

44 lines
1.3 KiB
SQL

USE travel_content;
-- 查询选题的完整信息,包括关联的景区、产品、风格和目标受众
SELECT
CONCAT('', t.id, '') AS '选题ID',
t.title AS '选题标题',
t.description AS '选题描述',
CASE
WHEN t.status = 'published' THEN '已发布'
WHEN t.status = 'draft' THEN '草稿'
ELSE t.status
END AS '状态',
u.userName AS '创建者',
s.name AS '关联景区',
p.name AS '关联产品',
CONCAT(p.originPrice, '', p.realPrice) AS '价格(原价→实际)',
cs.styleName AS '内容风格',
GROUP_CONCAT(DISTINCT ta.audienceName SEPARATOR '') AS '目标受众'
FROM
topics t
JOIN
user u ON t.userId = u.id
JOIN
topicScenic ts ON t.id = ts.topicId
JOIN
scenicSpot s ON ts.scenicId = s.id
JOIN
topicProduct tp ON t.id = tp.topicId
JOIN
product p ON tp.productId = p.id
JOIN
topicStyle tst ON t.id = tst.topicId
JOIN
contentStyle cs ON tst.styleId = cs.id
LEFT JOIN
topicAudience taud ON t.id = taud.topicId
LEFT JOIN
targetAudience ta ON taud.audienceId = ta.id
WHERE
t.isDelete = 0
GROUP BY
t.id, t.title, t.description, t.status, u.userName, s.name, p.name, p.originPrice, p.realPrice, cs.styleName
ORDER BY
t.status = 'published' DESC, t.id;