1

サブクエリ結合を使用してテーブルから複数のレコードを取得する

SELECT
  COUNT(*) AS total_count,
  (SELECT
     chat_box.user_id,
     chat_box.message,
     members.id,
     members.display_name
   FROM chat_box INNER JOIN members
        ON chat_box.user_id = members.id
   ORDER BY chat_id DESC LIMIT 1),
  (SELECT COUNT(DISTINCT user_id) FROM chat_box) AS users_count
FROM chat_box

これは私がこれまでに持っているものですmembers.display_name。内部結合から をchat_box.user_id = members.id出力として取得し、変数にchat_box.message保存members.display_nameしたいと考えています。chat_box.messageどんな助けでも大歓迎です。

4

1 に答える 1

1

何をしようとしているのかは明確ではありませんが、次のようなものを使用できるようです。

select u.user_id,
    u.message,
    u.id,
    u.display_name,
    cb1.total_count,
    cb1.users_count
from
(
    SELECT cb.user_id ,
        cb.message,
        m.id,
        m.display_name
    FROM chat_box cb
    INNER JOIN members m
        ON cb.user_id = m.id
) u
CROSS JOIN
(
    select COUNT(*) AS total_count,
          COUNT(DISTINCT user_id) AS users_count
    FROM chat_box
) cb1  
于 2013-01-29T22:27:54.427 に答える