我似乎无法绕过这个;我读过的所有资源都表明这应该没问题:
'SELECT e.ID, e.EVENT_NAME, e.EVENT_DATE, v.VENUE_NAME, l.LOCATION, GROUP_CONCAT(ms.MUSIC_STYLE_NAME) as `Styles`'.
'FROM events AS e'.
'INNER JOIN venues as v ON e.VENUE_LOCATION = v.ID'.
'INNER JOIN locations AS l ON e.VENUE_LOCATION = l.ID'.
'INNER JOIN event_music_styles AS ems ON e.ID = ems.EVENT_ID'.
'INNER JOIN music_styles AS ms ON ms.ID = ems.MUSIC_STYLE_ID'.
'GROUP BY e.ID';
...然而
查询无效:您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以获得正确的语法 在第1行'BY e.ID'附近使用
答案 0 :(得分:4)
似乎你错过了空间。试试
'SELECT e.ID, e.EVENT_NAME, e.EVENT_DATE, v.VENUE_NAME, l.LOCATION, GROUP_CONCAT(ms.MUSIC_STYLE_NAME) as `Styles`'.
' FROM events AS e'.
' INNER JOIN venues as v ON e.VENUE_LOCATION = v.ID'.
' INNER JOIN locations AS l ON e.VENUE_LOCATION = l.ID'.
' INNER JOIN event_music_styles AS ems ON e.ID = ems.EVENT_ID'.
' INNER JOIN music_styles AS ms ON ms.ID = ems.MUSIC_STYLE_ID'.
' GROUP BY e.ID';
答案 1 :(得分:2)
我不确定它是什么语言,但似乎
'INNER JOIN music_styles AS ms ON ms.ID = ems.MUSIC_STYLE_ID'.
'GROUP BY e.ID'
会导致
'INNER JOIN music_styles AS ms ON ms.ID = ems.MUSIC_STYLE_IDGROUP BY e.ID'
因此无法识别'group'关键字。
答案 2 :(得分:1)
好吧,试试这个
SELECT e.ID,
e.EVENT_NAME,
e.EVENT_DATE,
v.VENUE_NAME,
l.LOCATION,
GROUP_CONCAT(ms.MUSIC_STYLE_NAME) as `Styles`
FROM events as e
INNER JOIN venues as v ON e.VENUE_LOCATION = v.ID
INNER JOIN locations as l ON e.VENUE_LOCATION = l.ID
INNER JOIN event_music_styles as ems ON e.ID = ems.EVENT_ID
INNER JOIN music_styles as ms ON ms.ID = ems.MUSIC_STYLE_ID
GROUP BY e.ID;