0

2 つのテーブルがあり、1 つはユーザーのイベントを保存し、もう 1 つは各イベントの写真を保存します。レイアウトは次のとおりです。

event (event_id, 
       event_title, 
       event_description, 
       event_date, 
       event_time, 
       event_city, 
       event_state, 
       event_user)

photo (photo_id, 
       photo_photo, 
       photo_thumbnail, 
       photo_caption, 
       photo_event)

イベント ページで、すべてのイベントをグリッドに表示したいと考えています。さて、問題は、jQuery (http://tutorialzine.com/2012/12/album-photo-previews-jquery/) でライブ アルバム プレビューを使用しているため、各イベントのすべてのサムネイルを返す必要があることです。同じように。単一のクエリでこれを行うことはできますか?

私の現在のクエリは

"SELECT event.*, photo_thumbnail FROM event 
   LEFT JOIN photo ON event_id = photo_event 
   WHERE event_user = ?;" 

しかし、返された各写真のイベント情報は不要です。各イベントのすべての写真とともに、イベント情報が 1 回だけ必要です。どんな助けでも大歓迎です。

4

1 に答える 1

1

私は次のようなものを使用します:

SELECT event.*, GROUP_CONCAT(photo_thumbnail) as thumbnails
FROM event 
LEFT JOIN photo ON event_id = photo_event 
WHERE event_user = ?
GROUP BY event.event_id;

これにより、結果にサムネイルの列が表示されます。これは、サムネイルのカンマ区切りのリストになります。

于 2013-01-07T04:10:40.933 に答える