我已经为此奋战了几天,因为SQL不是我经常使用的东西,我无法让我的查询以我想要的方式工作。SQL - 需要帮助编写/修改查询
我有使用“TOXI”解决方案标记记录一个简单的测试数据库(三个表,一个充当链接“ProgramCourses”)
我的表
Program:
- ProgramID : int
- ProgramName : varchar
Course:
- CourseID : int
- CourseName : varchar
ProgamCourses:
- ProgramID : int
- CourseID : int
我想什么做的是将所有标签收集为字符串,然后将它们作为新列添加到程序表中。
我查询
SELECT * , GROUP_CONCAT(c.CourseName) AS tags_list
FROM `Program` p
LEFT JOIN ProgramCourses AS pc ON p.ProgramID = pc.ProgramID
LEFT JOIN Course AS c ON pc.CourseID = c.CourseID
GROUP BY p.ProgramID
ORDER BY p.ProgramID
这有点做什么,我需要,但它重复一些列和结果,我得到的是:
ProgramID ProgramName ProgramID CourseID CourseID CourseName tags_list
,而不是
ProgramID ProgramName CourseName
任何帮助将是非常感激。 如果有人愿意为我写一个查询,请把它写成表格和列的全名,因为这样可以使我更容易理解和采用其他用途。 谢谢。
T.
不要这样做。如果您想将标签作为字符串,请在查询时进行计算。 –
不要使用邪恶'SELECT *' – Strawberry