여러 행을 조인해야하는 MySQL 테이블이 있습니다. 이 같은 테이블보기 :그룹 연결없이 MySQL에서 여러 행을 하나로 결합합니다.
Order_ID | Item_ID | color
1 1 white
1 2 red
2 1 black
2 1 blue
나는이처럼 보이는 결과를 산출 할 자신의 Order_ID라고에 따라 행을 결합하려는 :
Order_ID | Item_1_ID | Item_1_color | Item_2_ID | Item_2_color
1 1 white 2 red
2 1 black 1 blue
내가 두 행을 결합 할 수있는 방법이 알고 그룹 concat을 사용하여 하나로 변환하지만 각 필드가 그룹 concat을 사용하는 것처럼 조인되지 않도록 분리되도록 유지하려고합니다. 이미 문을 사용하여 시도
은 다음과 같이 너무 뭔가를 조인
SELECT o.*, o1.* FROM order o INNER JOIN order o1 ON o.Order_ID = o1.Order_ID
그러나 몇 가지 경우 내가 가입 할 행에 대한
(61)의 한계는 MySQL의에 참여 초과 너무 많은 것입니다.감사합니다. 감사드립니다. 주문 당 항목의 수를 결정이 다른 매개 변수라는 그룹이 있었다
--- 편집 ---. 표는 다음과 같습니다 순서가 같은 그룹에 속하는
Order_ID | group
1 1
2 1
그래서 한 경우에는 동일한 수의 열을해야하지만 한 그룹과 다른 사이 열 수는 다를 수 있습니다. 그리고 내 쿼리는 하나의 그룹에 대해서만 있기 때문에 컬럼 수의 차이에는 아무런 문제가 없습니다.
얼마나 많은 열이 필요한지 어떻게 알 수 있습니까? 상한선이 있습니까? 실제 쿼리를 생성하기 전에 (?) 계산합니까? – biziclop
안녕하세요, 제 질문을 수정했습니다. 기본적으로 열 수는 유연하지만 실제 쿼리가 생성되기 전에 이미 계산됩니다. 그리고 내가 아는 한 상한은 없지만 수백 또는 그 이상이되지는 않을 것입니다. – raven
이 사이트 또는 인터넷에서 'mysql dynamic pivot'을 검색해보십시오. –