0

このクエリをメインクエリとして使用し、membersテーブルのすべてのレコードを使用し、commentsとchat_boxから選択した列を使用します。

SELECT members.*, 
       a.commenter_id, 
       b.user_id, 
       a.comcount, 
       b.chatcount 
FROM   members 
       LEFT JOIN (SELECT commenter_id, 
                         Count(*) comCount 
                  FROM   comments 
                  GROUP  BY commenter_id) a 
              ON members.id = a.commenter_id 
       LEFT JOIN (SELECT user_id, 
                         Count(*) chatCount 
                  FROM   chat_box 
                  GROUP  BY user_id) b 
              ON members.id = b.user_id 
WHERE  members.id = '290' 

このクエリを上記に追加したいと思います

SELECT Count(friend_id) AS totFriend, 
       friend_id        AS fi, 
       logged_user_id   AS user, 
       friend_accepted  AS fa 
FROM   member_friends 
WHERE  logged_user_id = '1' 
       AND friend_id = '290' 

エラーを発生させずにこれをミックスに追加することは可能ですか?私はそれを自分で試しましたが、たぶん自分自身をより深い問題に陥らせています。可能であれば、誰かがそうするのを手伝ってくれるかもしれません、ありがとう:)。

4

1 に答える 1

0

最後のクエリをテーブルに結合する方法がある場合はmembers、次を使用できるはずです。

SELECT members.*, 
  a.commenter_id, 
  b.user_id, 
  a.comcount, 
  b.chatcount,
  c.totFriend
FROM   members 
LEFT JOIN 
(
  SELECT commenter_id, 
    Count(*) comCount 
  FROM   comments 
  GROUP  BY commenter_id
) a 
  ON members.id = a.commenter_id 
LEFT JOIN 
(
  SELECT user_id, 
    Count(*) chatCount 
  FROM   chat_box 
  GROUP  BY user_id
) b 
 ON members.id = b.user_id 
LEFT JOIN
(
  SELECT Count(friend_id) AS totFriend, 
       friend_id        AS fi, 
       logged_user_id   AS user, 
       friend_accepted  AS fa 
  FROM   member_friends 
  WHERE  logged_user_id = '1' 
   AND friend_id = '290'
) c
  on members.id = c.friend_id
WHERE  members.id = '290' 
于 2013-01-15T23:07:35.720 に答える