1

多分あなたは私を助けることができます:

table1: accounts がある場合

user_id   account_id   
39        3799207
39        80286966
40        3789458

...

table2: サブスクライバー

id   client_id  master_id   master_account_id   active 
1    43         39          3799207             1
2    43         39          80286966            1
3    44         39          80286966            1
4    45         39          80286966            1

...

このリクエストの使用:

'SELECT account_id FROM accounts WHERE user_id = "39"';

このテーブルを取得できます:

Account
3799207
80286966

このテーブルを取得するにはどうすればよいですか:

Account      Subscribers     Count
3799207      43              1
80286966     43,44,45...     3

ありがとう!

4

1 に答える 1

6

これを試して:

SELECT a.account_id Account, 
      GROUP_CONCAT(b.client_id) Subscribers,
      COUNT(b.client_id) `Count`
FROM accounts a INNER JOIN subscribers b
    on a.account_id = b.master_account_id
WHERE b.master_id = '39'
GROUP BY a.account_id

MySQl列を行に連結するSQLite組み込み関数があります。GROUP_CONCAT

HTH

于 2012-05-23T11:48:04.270 に答える