>데이터 베이스 >MySQL 튜토리얼 >Informix에서 일대다 관계를 고유 열로 연결하는 방법은 무엇입니까?

Informix에서 일대다 관계를 고유 열로 연결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-01 11:22:10681검색

How to Concatenate One-to-Many Relationships into Unique Columns in Informix?

Informix에서 일대다 관계를 고유 열로 연결

일대다 관계를 두 개의 고유 열로 변환하려면 특정 데이터베이스가 필요합니다. 함수와 구문. 이 질문에서는 참조된 StackOverflow 질문에 설명된 접근 방식과 유사하게 Informix SQL을 사용하여 이러한 변환을 수행하는 방법을 탐구합니다.

사용자 정의 집계 함수

제안된 솔루션에는 다음이 포함됩니다. group_concat이라는 사용자 정의 집계 함수를 생성합니다. 이 함수는 네 가지 하위 기능을 사용합니다.

  • gc_init: 빈 문자열을 초기화합니다.
  • gc_iter: 쉼표로 구분된 값을 문자열에 반복적으로 추가합니다.
  • gc_comb : 서로 다른 곳에서 생성된 부분 결과를 결합합니다. partitions.
  • gc_fini: 연결된 최종 문자열을 반환합니다.

연결 쿼리

각 고유 ID에 대한 코드를 연결하려면 다음을 실행합니다. 다음 쿼리:

SELECT id, group_concat(codes)
FROM anonymous_table
GROUP BY id;

예제 테이블 및 결과

예제 테이블 anonymous_table에는 여러 ID에 대한 중복 코드가 포함되어 있습니다. 쿼리 출력은 원하는 결과를 생성합니다.

id    codes
63592 PELL
58640 SUBL, USBL
73571 PELL, USBL, SUBL

Notes

  • group_concat 집계는 VARCHAR(255)로 변환할 수 있는 모든 데이터 유형을 처리할 수 있습니다. 숫자 및 임시 유형과 같은
  • 집계 크기는 기본적으로 2048바이트로 제한됩니다. (Informix 12.10.FC5에서는 최대 16380바이트), 광범위한 데이터에 대한 잠재적인 제한이 있습니다.
  • 집계 함수를 제거하려면 제공된 삭제 명령을 사용하세요.

위 내용은 Informix에서 일대다 관계를 고유 열로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.