나는 다음과 같은 테이블이 있습니다행을 GROUP_CONCAT없이 열로 변환하는 방법은 무엇입니까?
greeting.csv: --------------------- id;en;es;fr 1;Hello!;¡Hola!;Salut! ---------------------
내가 GROUP_CONCAT
을 사용하여 행으로 모든 언어를 선택할 수 있습니다 :
greeting: +-------------------------+ | id | lang_id | name | +-------------------------+ | 1 | 1 | 'Hello!' | | 1 | 2 | '¡Hola!' | | 1 | 3 | 'Salut!' | +----+---------+----------+
난 이후의 처리를 위해 그것의 .CSV 파일을 작성해야
을 012 :SELECT
id,
GROUP_CONCAT(name SEPARATOR ';') as 'name'
FROM
greeting
WHERE
greeting.id = 1;
그것은 결과를 생산
그러나 진행하기 전에 연결 문자열을 토큰 화해야하므로 코드에서 'name'열의 특수 처리가 필요합니다.
id | en | es | fr ---+--------+--------+------- 1 | Hello! | ¡Hola! | Salut!
그래서 내가 균일하게 열을 처리 할 수 있습니다하십시오 얻을이 같은 결과에 방법이 있는지
궁금 해서요.
감사합니다.
답변 해 주셔서 감사합니다. 조인으로도 해결하려고했지만 'AND t2.lang_id = 2'부분을 지정하는 것을 잊어 버렸기 때문에 가능한 모든 언어와 ID의 조합을 얻고있었습니다. 'MAX (CASE ...) '보다 더 우아 해 보입니다. 답장으로 답장을 수락하겠습니다. –