mysQL group_concat из нескольких таблиц и счетчиков - PullRequest
0 голосов
/ 19 марта 2019

Я пытался преобразовать одну таблицу в несколько таблиц извлечения единственная таблица, которая работает идеально, но извлечение нескольких таблиц дает ошибку. пожалуйста, любой может помочь

db-fiddle один стол, который отлично работает https://www.db -fiddle.com / ж / mTHmv2idQwkdPZSqmRPi2Z / 4

но что не так в этой мульти-таблице, которую я сделал ??? https://www.db -fiddle.com / ж / eUAUt53neNMBsnP1QxjzGJ / 5 * 1 010 *

Я ожидаю, что выходной сигнал будет таким же, как у скрипки, которую я упомянул для одной таблицы. Вы можете проверить скрипку.

|---------------------|------------------|
|      SELLER         |    status        | 
|---------------------|------------------|
|          S1         |C3 :3,C1 :2,C2 :2 | 
|---------------------|------------------|
|          S2         |C3 :1,C1 :2,C2 :1 |
|---------------------|------------------|

1 Ответ

0 голосов
/ 19 марта 2019

Причина, по которой вы получаете больше записей, чем ожидаете, заключается в том, что в вашем запросе есть несколько объединений.

Попробуйте следующее. Это должно вернуть вам только:

select seller, group_concat(cid,' :', cnt  SEPARATOR ',') 
from
(SELECT  cases.SELLER, cases_cstm.customerid as cid, COUNT(*) as cnt FROM 
cases, cases_cstm WHERE cases.id=cases_cstm.id_c GROUP BY  cases.SELLER, 
cases_cstm.CUSTOMERID) q
group by seller;

Если вам нужно количество идентификаторов клиентов, вы должны включить count(cid) в ваше предложение выбора. Надеюсь, это поможет!

...