2010-06-21 41 views
0

今天我在想咖啡不够强壮。我需要查询表fb-celebotd以获得与fb-celebotd.celebdate相匹配的照片。大部分其他需要的信息都依赖于照片表。我左边的连接错误?

以下是给我一个MySQL错误:

Select photos.*,photographer.name, events.eventname, events.eventhome, subevents.subeventname, photodir.photodir, fb-celebotd.celebdate, fb-celebotd.trivia 
     from photos 
LEFT JOIN fb-celebotd ON (photos.photoid = fb-celebotd.photoid) 
LEFT JOIN photodir ON (photos.photodirid = photodir.photodirid) 
LEFT JOIN photographer ON (photos.photographerid = photographer.photographerid) 
LEFT JOIN events ON (photos.eventid = events.eventid) 
LEFT JOIN subevents ON (photos.subeventid = subevents.subeventid) 
WHERE fb-celebotd.celebdate=1277092800 

这是可行的在一个查询或我必须首先查询FB-celebotd为PHOTOID和琐事,然后查询基础上,PHOTOID其他表?

谢谢。

回答

3

应该fb-celebotd(带短划线)是fb_celebotd(带下划线)?如果表名有短划线,则必须引用表名:"fb-celebotd"。否则,短划线被视为一个负号,并尝试从fb中减去celebotd(都是未知的)。

+0

。谢谢你的第二套眼睛。更改了表名,它工作。 – Ian 2010-06-21 19:13:00

1

如果你真的有一个名为FB-celebotd表,那么你需要使用它在查询中每次引用表名:我知道我的咖啡是弱

Select photos.*,photographer.name, events.eventname, events.eventhome, subevents.subeventname, photodir.photodir, `fb-celebotd`.celebdate, `fb-celebotd`.trivia 
     from photos 
LEFT JOIN `fb-celebotd` ON (photos.photoid = `fb-celebotd`.photoid) 
LEFT JOIN photodir ON (photos.photodirid = photodir.photodirid) 
LEFT JOIN photographer ON (photos.photographerid = photographer.photographerid) 
LEFT JOIN events ON (photos.eventid = events.eventid) 
LEFT JOIN subevents ON (photos.subeventid = subevents.subeventid) 
WHERE `fb-celebotd`.celebdate=1277092800