2014-04-17 1 views
0

두 개의 테이블 계정 및 속성이 있습니다. 계정 테이블에는 "accountID"라는 필드가 있습니다. Property 테이블에는 "accountID"및 "propertyName"이라는 필드가 있습니다.SQL 연결 반환

는 I는 I 3 계정 ID의가 예를 들어 ... 모든 accountIDs의 쉼표에 연관된 모든 속성 목록을 반환 연결된 컬럼 분리해야 101 102 103

accountID 101 has three properties: house, car, boat 
accountID 102 has four properties: plane, yacht, motorcycle oyster 
accountId 103 has one property: fish 

나는 다음과 같이 돌아갈 필요가 있습니다 :

accountID properties 
101   house, car, boat 
102   plane, yacht, motorcycle, oyster 
103   fish 
+0

찾고있는 대상을 피벗 테이블이라고합니다. 그것은 그것을 구현하는 방법에 관해서 당신이 사용하고있는 데이터베이스에 달려있을 것입니다. –

+0

MySQL을 사용하는 경우 귀하의 질문에 대한 답변이 [here] (http://stackoverflow.com/questions/276927/can-i-concatenate-multiple-mysql-rows-into-one-field)되었습니다. SQL Server를 사용하여 귀하의 질문에 답변되었습니다 [여기] (http://stackoverflow.com/questions/6899/is-there-a-way-to-create-a-sql-server-function-to-join-multiple- rows-from-a-su). 둘 다 아니라면 사용중인 데이터베이스를 알려주십시오. – Tony

답변

0

이런 식으로 뭔가?

SELECT `accountID`, GROUP_CONCAT(`properyName` SEPARATOR ', ') as `properties` 
FROM `Accounts` 
JOIN `Property` USING (`accountID`) 
GROUP BY `accountID`