我有两个表,一个叫做SourceProperties。另一种叫做属性。
一个源可以有许多属性。
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 www.google.com真日志假
我能做什么?
thx先进!
最佳答案
我想这可能就是你要找的
SELECT SourceID, GROUP_CONCAT(Value SEPARATOR ' ')
FROM SourceProperties
WHERE SourceID = 1
GROUP BY SourceID
这将为您提供所有属性,用空格分隔(但不作为单独的列)。如果您希望将每个属性作为单独的列,那么这将涉及一些非常奇特的动态SQL,并且会相当困难。