2014-04-07 16 views
8

próbuję uczynić ten pogląd zapytaniu dwie tabele, a następnie zwinąć każdy identyfikator programu w jednym rzędzie ze wszystkimi AttributeNames w colum AttributeNames razemwiele wierszy w jednym rzędzie i połączyć kolumny SQL

dołączyłem te dwa tabele i wyciągnął odpowiednią ilość rekordów.
Teraz wszystko, czego potrzebuję do tej części, to umieszczenie ich tam, gdzie jeden wiersz dla ID programu i wszystkich atrybutów AttributeNames razem w kolumnie AttributeNames dla każdego identyfikatora.

PRZYKŁAD: Wszystko w jednym rzędzie.

ProgramID  | AttributeNames 
887   | Studydesign, Control Groups, Primary Outcomes. 

Oto obraz widoku SQL, że muszę zmodyfikowany tak, to robi to: enter image description here

zapytaniu:

SELECT TOP (100) PERCENT dbo.tblProgramAttributes.ProgramID, 
     dbo.tblProgramAttributes.AttributeID AS PAattributeID, 
     dbo.tblAttributes.AttributeID, 
     dbo.tblAttributes.AttributeName 
FROM dbo.tblProgramAttributes INNER JOIN 
     dbo.tblAttributes 
ON  dbo.tblProgramAttributes.AttributeID = dbo.tblAttributes.AttributeID 
WHERE (dbo.tblProgramAttributes.AttributeID NOT LIKE '%ProgramType%') 
ORDER BY dbo.tblProgramAttributes.ProgramID DESC 
+1

Załaduj zdjęcia do wpisu, proszę. Bez obrazy, ale nie klikam na niezaufane linki –

+0

@TomasPastircak, OP nie ma wystarczającej liczby przedstawicieli, aby przesłać obrazy. – paqogomez

+0

Zobacz poniższy link: http://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string – abaldwin99

Odpowiedz

13
select ProgramId, 
stuff(
(
    select ','+ [attributename] 
    from Table1 
    where programid = t.programid for XML path('') 

),1,1,'') as AttributeNames 
from (select distinct programid 
     from Table1)t 

Sprawdź My sql fiddle

Wyniki

PROGRAMID ATTRIBUTENAMES 
887   Study Design,Control Groups,Primary Outcomes 
+0

Dzięki banda; Wziąłem to, co zrobiłeś i dodałem to do tego, co robiłem, i zadziałało. Dzięki :) – user3507497

+0

Jestem tutaj nowy, kliknąłem strzałkę w górę nad zielonym znacznikiem wyboru, jeśli tak to robisz. – user3507497

+0

Co zrobić, jeśli dołączyłem do dwóch tabel przed wykonaniem 'stuff' – Si8