需要SQL语句帮助

问题描述:

我有2个表,1个称为SourceProperties。另一个叫做属性。需要SQL语句帮助

一个源可以有很多属性。

SourceProperties包含以下属性或列(SourceID,PropertyID,Value)。 属性包含以下属性或列(PropertyID,PropertyType,PropertyName)。

例如,

Select * from SourceProperties where SourceID=1 

将返回以下

1  33  www.google.com/,...m,sand 
1  34  true 
1  35  Journal 
1  77  false 

另外,

Select * from Properties where PropertyID=34 

将返回:

34 bit IpAuthenticated 

Select * from Properties where PropertyID=77 

将返回:

77 bit ContainsBooks 

我的问题是这样的,如果我需要选择一定的SourceID 所有的属性值,这样我就可以得到这样一个结果

1 wwww.google.com真正的杂志假

我该怎么办? thx in advanced!

我认为这可能是你在找什么

SELECT SourceID, GROUP_CONCAT(Value SEPARATOR ' ') 
FROM SourceProperties 
WHERE SourceID = 1 
GROUP BY SourceID 

这会给你的所有属性,用空格(但不作为单独的列)分开。如果您希望将每个属性作为单独的列,那将涉及一些漂亮的动态SQL,并且会更困难。