| Author |
Topic |
|
Dave5498
Starting Member
1 Post |
Posted - 2011-05-10 : 06:53:51
|
| I am new to SQL so need a bit of help!I have a table called: my_attributesProductID, At1, At21, TABLE, NULL1, CHAIR, Wooden1, DOOR, Old2, TABLE, Garden2, CHAIR, Metal2, DOOR, NULL3, TABLE, NULL3, CHAIR, Rocker3, DOOR, NULLI need the product down the side and at1 along the top so I have done:SELECT ProductID ,CASE WHEN [At1] = 'TABLE' THEN [At2] ELSE '' END AS [TABLE] ,CASE WHEN [At1] = 'CHAIR' THEN [At2] ELSE '' END AS [CHAIR] ,CASE WHEN [At1] = 'DOOR' THEN [At2] ELSE '' END AS [DOOR]FROM my_attributesBut I end up with more than one line for each productID eg:Product, TABLE, CHAIR, DOOR1, '', '', ''1, '', Wooden, ''1, '', '', OldetcHow can I get Product, TABLE, CHAIR, DOOR1, '', 'Wooden', 'Old'2, 'Garden','Metal',''etcSomething like a GROUP BY with doing any sums as all the values as varchars.Many Thanks for your help. |
|
|
jimf
Master Smack Fu Yak Hacker
2875 Posts |
Posted - 2011-05-10 : 07:07:26
|
| You can't sum, but you can maxSELECT ProductID,MAX(CASE WHEN [AT1] = 'TABLE' THEN [AT2] ELSE NULL END),....FROM my_AttributesGROUP BY ProductIDJimEveryday I learn something that somebody else already knew |
 |
|
|
|
|
|