0

今日のコーヒーは濃くないと思います。fb-celebotd.celebdate と一致するフォト ID を取得するには、テーブル fb-celebotd にクエリを実行する必要があります。必要なその他の情報のほとんどは、写真テーブルに依存しています。

以下は私に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

これは 1 つのクエリで実行できますか、それとも最初にフォト ID とトリビアについて fb-celebotd をクエリしてから、フォト ID に基づいて他のテーブルをクエリする必要がありますか?

ありがとう。

4

2 に答える 2

3

fb-celebotd(ダッシュ付き) はfb_celebotd(アンダースコア付き) である必要がありますか? テーブル名にダッシュが含まれている場合は、テーブル名を引用符で囲む必要があります: "fb-celebotd". それ以外の場合、ダッシュはマイナス記号として扱われ、fb から celebotd を減算しようとします (どちらも不明)。

于 2010-06-21T19:05:01.303 に答える
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
于 2010-06-21T19:12:09.293 に答える