对不起,我不知道这是如何调用的,所以我也不知道如何谷歌它。我会试着解释我需要什么。有一个标准的场景,我有某种对象存储表,还有另一个包含对象属性的表。一个对象可能与许多属性相关联。所以基本上当你需要一个对象的所有数据时,你将加入属性表并接收很多行。在一个scenarion,我在同一时间查询大量的对象,做一个子查询中选择一个属性:sql选择多行到一列
SELECT basic data,
(SELECT some attribute from attributes table) AS attribute1
FROM objects table
JOIN something
JOIN something
...
一切都OK,但我需要选择从该列表了更多的属性。什么是最佳的方式呢?我认为写2个以上的子查询不是一个好主意。我听说过t-sql中的一些pivot函数,但我不确定这是否是我需要的。理想情况下,属性将作为新列以单行形式返回,并包含所有其他数据,属性名称是新列名称,属性文本是新列值。但属性名称可能包含空格等,所以我不确定它们是否可以用作列名称,或者是否可以执行这样的选择。
SQL是微软的,但它会很高兴有一些解决方案可以支持其他数据库引擎。
赞赏任何指针或谷歌关键词]
请写一个例子的输入和所希望的输出。 – 2010-12-09 12:16:02