2012-03-15 74 views
0

我试图创建多语句,但我遇到了问题。 我试图将多个音乐风格附加到一个事件中,将它们放在一行中,并用逗号分隔它们。将此多语句添加到我的语句中

这是代码我现在有:我试图将其附加到我现在有

SELECT a.* FROM music_types AS a, events_music_types AS b WHERE a.id == b.music_type_id AND b.event_id == events.ID 

SELECT 
    events.EVENT_NAME, events.start_datetime, events.end_datetime, events.VENUE_LOCATION, events.PARTY_TYPE, events.IMAGE_URL, events.ENTRANCE_PRICE, 
    venues.VENUE_NAME, venues.BEER_PRICE, venues.WINE_PRICE, SPIRITS_PRICE, 
    party_types.PARTYTYPE 
FROM events 
INNER JOIN venues 
    ON events.VENUE_LOCATION = venues.ID 
INNER JOIN party_types 
    ON events.PARTY_TYPE = party_types.ID 
WHERE start_datetime >= '$DATE_START_SELECTED' 
AND end_datetime < '$DATE_END_SELECTED' 

我把它做成这样:

SELECT 
    events.EVENT_NAME, events.start_datetime, events.end_datetime, events.VENUE_LOCATION, events.PARTY_TYPE, events.IMAGE_URL, events.ENTRANCE_PRICE, 
    venues.VENUE_NAME, venues.BEER_PRICE, venues.WINE_PRICE, SPIRITS_PRICE, 
    party_types.PARTYTYPE, 
    a.* 
FROM events 
INNER JOIN venues 
    ON events.VENUE_LOCATION = venues.ID 
INNER JOIN party_types 
    ON events.PARTY_TYPE = party_types.ID 
INNER JOIN music_types AS a, events_music_types AS b 
WHERE start_datetime >= '$DATE_START_SELECTED' 
AND end_datetime < '$DATE_END_SELECTED' 
AND a.id == b.music_type_id 
AND b.event_id == events.ID 

并得到这个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== b.music_type_id AND b.event_id == events.ID' at line 14

说实话,我甚至不知道我应该如何回应这个问题并将它分成逗号,你能帮我一下吗?非常感谢! :)

PS。我加了一点关于这个关系看起来的视觉解释。 enter image description here

回答

1

你等于比较是不正确的:

AND a.id == b.music_type_id 

应该是:

AND a.id = b.music_type_id 
+0

哇,它的作品!现在我应该回应哪一行,以及如何将它们与逗号分开?我将在此期间试图自己解决这个问题,但如果你碰巧知道请让我知道:) – pufAmuf 2012-03-15 21:58:33

+0

现在发生的事情是因为我已经为这一个事件附加了2种音乐风格,所以我得到了相同的结果事件打印两次 – pufAmuf 2012-03-15 22:00:27

+0

其实,我会把它作为一个单独的问题发布。再次感谢! – pufAmuf 2012-03-15 22:01:45