0

次のクエリを使用して、データベースからミートアップ (イベント) に関する情報を取得しています。イベントに参加する4人のユーザーのプロフィール写真を選択できるようにしたいです。

SELECT
    m.meetup_name,
    m.url_meetup,
    LEFT(m.meetup_text, 120) as teaser,
    DATE_FORMAT(m.datetime, "%d-%m-%Y <br> %I:%i") as datetime,
    a.username,
    a.url_username,
    c.city_name,
    (SELECT count(*) FROM meetup_participants mp WHERE MP.meetup_id = m.id) as participants
FROM
meetups m, users a, cities c
WHERE
    a.id = m.author_id
    AND c.postalcode = m.postalcode

私のテーブルは次のようになります。

meetup =>
  id
  meetup_name
  url_meetup
  meetup_text
  author_id
  datetime
  ......

meetup_participants =>
  meetup_id
  user_id

users
  id
  username
  url_username
  profile_picture

これ以上サブクエリを使用しないことを強く望みます。私の最初の考えは、私がすでに持っているサブクエリを介してそれを行うことができるということでしたが、その後、サブクエリから 1 つの列しか返すことができないことがわかりました。

誰かがこれを達成する方法を知っていることを願っています。

4

2 に答える 2

0

サブクエリで CONCAT を使用することになり、php を使用して文字列を配列に分割しました。

(SELECT GROUP_CONCAT(CONCAT(u.url_username,"/60_thumb/",u.profile_picture)) FROM meetup_participants mp, users u WHERE mp.meetup_id = m.id AND u.id = mp.user_id LIMIT 4) AS participants_pictures
于 2013-05-28T16:41:57.910 に答える