2017-05-04 6 views
0

작업 ID 테이블과 일치하는 모든 작업 카테고리를 나열하는 열을 만들고 싶지만 동일한 열로 연결됩니다. 예를 들어, 현재 직무 82041에는 두 가지 범주가 있지만 이제는 두 개의 행을 반환합니다. "소매점, 판매원"이라고 한마디로 말하고 싶습니다.여러 행의 데이터를 동일한 열로 병합

내가 시도한 코드는 다음과 같습니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까?

예 :

jobOrderID (No column name) 

82027 Motion Graphics    
82029 Other       
82030 Product Designer    
82041 Retail       
82041 Sales Associate    
82069 Social Media  

예제 코드 :

select JobOrder.jobOrderID ,  
     stuff((select distinct ', ' + cast(Category.occupation as nchar(30)) 
       from Category 
       where Category.categoryID = JobOrderCategories.categoryID 
     for xml path ('')),1,1,'')  

from JobOrder 
left outer join JobOrderCategories 
    on JobOrder.joborderid = JobOrderCategories.jobOrderID 
left outer join Category 
    on Category.categoryID = JobOrderCategories.categoryID 

where JobOrder.dateAdded > '2017-5-2' and JobOrder.dateAdded < '2017-5-3' 
    and joborder.isDeleted = 0 

order by joborder.dateAdded asc 

답변

0

왼쪽을 변경하여 그것을 알아 냈다가

select 

JobOrder.jobOrderID, 

stuff((select distinct ', ' + cast(Category.occupation as varchar(30)) 
from Category 
left outer join JobOrderCategories on (Category.categoryID = JobOrderCategories.categoryID and joborder.jobOrderID = JobOrderCategories.joborderid) 
where Category.categoryID = JobOrderCategories.categoryID 
for xml path ('')),1,1,'') 


from JobOrder 

where JobOrder.dateAdded > '2017-5-2' and JobOrder.dateAdded < '2017-5-3' 
and joborder.isDeleted = 0 
+0

가에서''{}와 코드 format''에 대해 알아 조인 도구 모음. 참고 용 – Parfait

+0

주셔서 감사합니다! –