2014-04-07 18 views
8

Ich versuche, diese Ansicht Abfrage zwei Tabellen zu machen und dann mit allen attribute im attribute colum jedes Programm-ID in einer Zeile zusammenrollen zusammenMehrere Zeilen in einer einzigen Zeile und kombinieren Spalte SQL

ich diese zwei zusammengefügten Tabellen und es zog die richtige Menge an Aufzeichnungen.
Alles, was ich für diesen Teil brauche, wäre, diese zusammenzurollen, wobei ich für jede ID eine Zeile pro ProgramID und alle AttributeNames zusammen in einer AttributeNames Spalte habe.

BEISPIEL: Alles in einer Zeile. Hier

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

ist das Bild des SQL VIEW, die ich geändert müssen so tut es dies: enter image description here

DIE QUERY:

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

Laden Sie die Bilder bitte auf die Post hoch. Nichts für ungut, aber ich klicke nicht auf nicht vertrauenswürdige Links –

+0

@TomasPastircak, OP hat nicht genug rep, um Bilder hochzuladen. – paqogomez

+0

Siehe folgenden Link: http://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string – abaldwin99

Antwort

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 

Check out my sql fiddle

Ergebnisse

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

Danke ein Haufen; Ich habe genommen, was Sie getan haben und fügte es zu dem, was ich tat, und es hat funktioniert. Danke :) – user3507497

+0

Ich bin neu hier, ich habe den Pfeil nach oben über das grüne Häkchen angeklickt, wenn es so ist. – user3507497

+0

Was ist, wenn ich zwei Tabellen vor dem 'stuff' beigetreten bin? – Si8

Verwandte Themen