SQL

2017-03-27 19 views
1

당신이 CDPRCL 두 개의 동일한 번호가 볼 수있는 나는 테이블SQL

CDPRCL   CDITEM    CDSQFT  F162_U 
18-020-0056  SOUND SYS   1.00  H 
18-020-0056  WET BAR    2.00  D 

에 열이있는 경우처럼 데이터를 얻을 수있는 몇 가지 문제를 가지고있는 열에 나란히의 값을 취득하는 방법 다른 열에서는 데이터를 diff합니다. 나는이 형식의 데이터를 원하는,이 활용하는 방법을 열 F162_U

CDPRCL   CDITEM    CDSQFT  F162_U 
18-020-0056  SOUND SYS   1.00  H,D 
18-020-0056  WET BAR    2.00  H,D 

의 결과를 참조하십시오. 이것으로 도와주세요. 덕분에 사전에

+0

이것은 매우 구체적인 RDBMS. SQL Server를 사용하고 있습니까? 아니면 MySQL을 사용하고 있습니까? 그것들은 매우 다른 두 개의 데이터베이스입니다. – JNevill

+0

죄송합니다. SQL 서버를 사용하고 있습니까 – Mukesh

+2

가능한 값은 몇 개입니까? 항상 두 개의 행이 있습니까? –

답변

0

다음과 같이 XML 경로이

select 
A.CDPRCL, 
A.CDITEM, 
A.CDSQFT, 
STUFF((
SELECT ','+ B.F162_U 
FROM Yourtable B 
WHERE B.CDPRCL=A.CDPRCL 
ORDER BY B.F162_U 
FOR XML PATH ('') 
),1, 1, '') AS F162_U 

from 
Yourtable A 
0

선택과 같은 쿼리를 시도하십시오 :

create table TestTable (CDPRCL varchar(20), CDITEM varchar(20), CDSQFT float, F162_U varchar(10)) 

Insert into TestTable values('18-020-0056', 'SOUND SYS', 1.00, 'H') 
Insert into TestTable values('18-020-0056', 'WET BAR', 2.00, 'D') 

Select CDPRCL, CDITEM, CDSQFT, substring((Select ', ' + F162_U 
      From TestTable Tbl2 
      Where Tbl1.CDPRCL = Tbl2.CDPRCL 
      For XML PATH ('')),2,1000) 
from TestTable Tbl1