수리를 추적하는 시스템을 고려하십시오. 나는 고객 데이터와 공통 ID 키가있는 테이블을 가지고있다. 두 번째 테이블에는 각 ID 키에 사용 된 복구 파트 유형과 사용 된 숫자가 표시되는 열이 있습니다. 이들의 정의는 다음과 같습니다 :기존 열의 데이터를 기반으로 새 열 만들기
order_information
order_id | cust_last_name
465 Smith
899 Williams
512 Johnson
345 Fenton
122 Bowles
944 Cooper
parts_usage
order_id | part_type | part_quantity
465 Part 1 5
465 Part 2 4
899 Part 1 2
899 Part 2 8
899 Part 3 6
512 Part 3 1
345 Part 2 4
345 Part 3 5
122 Part 2 3
944 Part 1 2
나는 부분의 조각과 같이 세분화 돌아갑니다보고에 대한 쿼리를 실행하고 싶습니다 :
order_id | Part 1 | Part 2 | Part 3 | Total
465 5 4 9
899 2 8 6 16
512 1 1
345 4 5 9
122 3 3
944 2 2
이 가능하므로 쿼리와 함께이 작업을 수행하는 것입니다 내 보고서에 각 수리 티켓에 사용 된 각 부품의 수를 표시 할 수 있습니까?
여기서 알 수 있듯이 각 order_id
에는 여러 부품 유형과 고유 수량이있을 수 있습니다. 나는 서로 다른 부품 유형 (세 가지가 합계)을 세 개의 분리 된 열로 나누고 합계를 order_id
으로 나열하려고합니다.
필요한 것은 테이블을 피벗하는 것입니다. 예를 들어 SQL Server에는 피벗 명령이 있습니다. http://msdn.microsoft.com/en-us/library/ms177410(v=sql.105).aspx –
사용중인 RDBMS는 무엇입니까? SQL은 많은 데이터베이스 시스템에서 사용되는 언어 일뿐입니다. 찾고있는 솔루션은 공급 업체마다 다를 수 있습니다. – GarethD
아시다시피 파트가 세 개 뿐이지 만 Part1'과 같은 스타일의 합계 탭 (part_type = 'part1'일 때 part_quantity 끝)이 작동해야합니다. 그렇지 않으면보다 정교한 솔루션이 될 것입니다. @GarethD 상태와 관련된 공급 업체. –