Top.Mail.Ru
Ответы

Как вывести значения через запятую. (Перемножив одну таблицу на другую через Join)

SELECT
permission.ID,
.username
FROM
confluencedb.SPACEPERMISSIONS permission
INNER JOIN confluencedb.user_mapping usermap
ON permission.USERNAME = usermap.user_key
WHERE
permission.ID IN (1,2,3,4,10,11);

Надо чтобы было примерно так
permission | usermap
1 | mike, John
2 | Sarah, Alexander, Ivan

Дополнен

SELECT
permission.ID,
usermap.username
FROM
confluencedb.SPACEPERMISSIONS permission
INNER JOIN confluencedb.user_mapping usermap
ON permission.USERNAME = usermap.user_key
WHERE
permission.ID IN (1,2,3,4,10,11);

По дате
По рейтингу
lixiqingМыслитель
9лет

SELECT permission.ID, group_concat(username)
FROM
....
GROUP BY permission.ID

jurijus_zaksasИскусственный интеллект
9лет

Тогда уж group_concat(username||', ')
И еще последнюю запятую нужно обрубать.

jurijus_zaksasИскусственный интеллект
9лет

Нужно использовать функцию группировки значений. На Оракле - примерно так:

SELECT
permission.ID,
LISTAGG(.username, ',') WITHIN GROUP (ORDER BY .username) AS employees
FROM
confluencedb.SPACEPERMISSIONS permission
INNER JOIN confluencedb.user_mapping usermap
ON permission.USERNAME = usermap.user_key
WHERE
permission.ID IN (1,2,3,4,10,11)
GROUP BY permission.ID



Экскурсии на любой вкус и город