I am trying to make this view query two tables and then roll up each Program ID into one row with all the AttributeNames in the AttributeNames colum together
I joined these two tables and it pulled up the proper amount of records.
Now all I need for this part would be to roll these up where I have one row per ProgramID and all the AttributeNames' together in a AttributeNames column for each id.
EXAMPLE: All in one row.
ProgramID | AttributeNames
887 | Studydesign, Control Groups, Primary Outcomes.
Here is the image of the SQL VIEW that I need to modified so it does this:
THE 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
To merge two or more rows into one, here's what you need to do: Select the range of cells where you want to merge rows. Go to the Ablebits Data tab > Merge group, click the Merge Cells arrow, and then click Merge Rows into One.
(INNER) JOIN : Returns records that have matching values in both tables. LEFT (OUTER) JOIN : Returns all records from the left table, and the matched records from the right table. RIGHT (OUTER) JOIN : Returns all records from the right table, and the matched records from the left table.
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
Results
PROGRAMID ATTRIBUTENAMES
887 Study Design,Control Groups,Primary Outcomes
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With