1
mysql에서 group_concat() 함수에 separator를 사용하고 싶습니다.하지만 구분 기호를 동적으로 변경하고 싶습니다. 분리 기호 값이 테이블에서오고 모든 행마다 다릅니다.mysql 함수에서 group_concat 구분 기호를 동적으로 변경하십시오.
그 해결책을 찾지 못했습니다. 제발 도와주세요.
mysql에서 group_concat() 함수에 separator를 사용하고 싶습니다.하지만 구분 기호를 동적으로 변경하고 싶습니다. 분리 기호 값이 테이블에서오고 모든 행마다 다릅니다.mysql 함수에서 group_concat 구분 기호를 동적으로 변경하십시오.
그 해결책을 찾지 못했습니다. 제발 도와주세요.
마지막으로 soultion이 있습니다.
MySQL 루틴이 있다고 가정 해 보겠습니다. SEPARATOR
(기본값은 ',') 인 GROUP_CONCAT
일부 값이 필요합니다. 하지만 SEPARATOR
은 정적이 아닙니다. 예를 들어, 다른 테이블에서 가져 왔습니다. 일부 '설정'표에서
DECLARE url_delimiter VARCHAR(255);
SELECT catalog_url_delimiter
INTO url_delimiter
FROM settings;
우리는 직접 SEPARATOR 매개 변수로 변수를 사용할 수 없습니다
-- doesn't work
SELECT GROUP_CONCAT(`some_table`.id SEPARATOR url_delimiter)
FROM <some query>
하지만 우리는 몇 가지 더미 분리기를 사용하여 유효한 아래로 교체 할 수 있습니다 : @에
SELECT
REPLACE(
GROUP_CONCAT(`some_table`.id SEPARATOR 'some-tricky-dummy-separator'),
'some-tricky-dummy-separator',
url_delimiter
)
FROM <some query>
감사합니다 SaritaTewari는 아이디어를 얻었습니다.
아마도 데이터에 큰 문제가 있다는 표시입니다. 이를 위해 동적 SQL이 필요합니다 – e4c5
다른 말로하면 매개 변수에 분리 기호 값을 전달하는 것입니다. 도움을 받으려면 어떻게해야합니까? –
해결책을 얻었습니다. ''안에 분리 기호를 사용할 수는 있지만 마지막으로 우리는 지나가고있다. –