반응형
결과 열의 다른 값을 다른 열 sql의 값별로 단일 행으로 가져오는 방법
다음 테이블이 있습니다.
팀 동료 ID | 팀메이트명 | 팀 ID | 팀 |
---|---|---|---|
1 | 에이미. | 11 | 판매의 |
1 | 에이미. | 12 | 지지하다 |
1 | 에이미. | 13 | 마케팅. |
2 | 피터야. | 12 | 지지하다 |
2 | 피터야. | 13 | 마케팅. |
그리고 아래와 같이 팀 이름 또는 팀 이름을 기준으로 팀 열이 하나의 행에 나타나도록 결과를 그룹화합니다.
팀 동료 ID | 팀메이트명 | 팀 ID | 팀 |
---|---|---|---|
1 | 에이미. | 11, 12, 13 | 영업, 지원, 마케팅 |
2 | 피터야. | 12, 13 | 지원, 마케팅 |
이 목적을 위해 어떤 기능을 사용하는 것이 가장 좋습니까?하위 쿼리, 병합, 이상한 XML 경로 등을 시도했지만 새로운 SQL 사용자로서 이 문제를 해결하는 데 몰두할 수 없습니다.
나에게 결과를 준 나의 원래 질문은;
SELECT
tm.teammate_id AS "Teammate ID",
tm.name AS "Teammate name",
itt.team_id AS "Team IDs",
it.team AS "Teams"
FROM
intercom_teammates AS tm
LEFT JOIN intercom_teammate_teams AS itt
ON tm.teammate_id = itt.teammate_id
LEFT JOIN intercom_teams AS it
ON tm.teammate_id = itt.teammate_id
단순한 group_concat이면 다음과 같은 효과를 볼 수 있습니다.
select it.TeammateID,
group_concat( distinct it.Teammatename SEPARATOR ',') as Teammatename,
group_concat( it.Teamid SEPARATOR ',') as Teamid,
group_concat( it.Teams SEPARATOR ',') as Teams
from intercom_teammates it
group by it.TeammateID ;
참고. 나는 팀메이트 이름에 고유한 이름을 사용했지만, 나는 그것이 과도하다고 생각하고 모든 다른 팀메이트에 대해 그것을 제거할 수 있습니다.팀 이름이 고유한 ID입니다.
SELECT
tm.teammate_id AS "Teammate ID",
tm.name AS "Teammate name",
GROUP_CONCAT(DISTINCT itt.team_id ORDER BY itt.team_id ASC) AS "Team IDs",
GROUP_CONCAT(DISTINCT it.team ORDER BY it.team DESC) AS "Teams"
FROM intercom_teammates tm
LEFT JOIN intercom_teammate_teams itt ON tm.teammate_id = itt.teammate_id
LEFT JOIN intercom_teams it ON tm.teammate_id = it.teammate_id
GROUP BY tm.teammate_id, tm.name
참고: 수정했습니다.JOIN
로.intercom_teams
변화하는itt.teammate_id
로.it.teammate_id
그것은 결과 세트를 벗어던지고 있었습니다.
결과:
| Teammate ID | Teammate name | Team IDs | Teams |
|-------------|---------------|----------|--------------------------|
| 1 | Amy | 11,12,13 | Support,Sales,Marketing |
| 2 | Peter | 12,13 | Support,Marketing |
여기서 만지작거려요.
언급URL : https://stackoverflow.com/questions/74193905/how-to-bring-different-values-from-results-column-into-single-row-by-value-from
반응형
'source' 카테고리의 다른 글
아래쪽 점이 있는 Android ViewPager (0) | 2023.08.09 |
---|---|
Oracle의 NULLS FIRST에 해당하는 SQL Server? (0) | 2023.08.04 |
"Provider com.fasterxml.jackson.module.jaxb.Spring Boot 업그레이드 후 "Jaxb Annotation Module을 찾을 수 없음" (0) | 2023.08.04 |
오류: 유형이 Promise 호환 생성자를 참조하지 않으므로 ES5/ES3에서 올바른 비동기 함수 반환 유형이 아닙니다. (0) | 2023.08.04 |
도커 안에서 도커를 실행해도 괜찮습니까? (0) | 2023.08.04 |