我需要SQL查询中的帮助来获取表的不同视图

我需要SQL查询中的帮助来获取表的不同视图,sql,join,rows,Sql,Join,Rows,我可以回答SQL执行以下操作的问题,我没有太多关于正在使用的表模式的信息,但只有图像和目标 该表如下所示: ID |DEF | ATT | VALUE ---|----|-----|----- 1 | 10 | 9 | 1234 1 | 10 | 10 | 00199 1 | 10 | 11 | Eduardo 2 | 10 | 9 | 1234 2 | 10 | 10 | 00199 2 | 10 | 11 | Eduardo 这是通过如下查

我可以回答SQL执行以下操作的问题,我没有太多关于正在使用的表模式的信息,但只有图像和目标

该表如下所示:

ID |DEF | ATT | VALUE 
---|----|-----|----- 
1  | 10 |  9  | 1234  
1  | 10 | 10  | 00199  
1  | 10 | 11  | Eduardo 
2  | 10 |  9  | 1234  
2  | 10 | 10  | 00199 
2  | 10 | 11  | Eduardo 
这是通过如下查询实现的:

SELECT * FROM (SELECT ID, DEF, ATT, VALUE 
               FROM table 
               WHERE DEF = 10 
               AND ID IN ( 
                 SELECT DISTINCT ID 
                 FROM table WHERE VALUE = '001' 
                        OR VALUE = 'Agu')) 
WHERE ATT IN (9, 10, 11) 
我怎样才能让这个看起来像

ID | DEF |VALUE|VALUE1| VALUE2 
---|-----|-----|------|--------- 
 1 |  10 |1234 |00199 | Eduardo 
 2 |  10 |1234 |00199 | Eduardo  

或者如何调用该函数,以便我可以找到更多信息?

像这样使用pivot函数应该会得到您想要的结果

SELECT
ID,
DEF,
[9] AS Value1,
[10] AS Value2,
[11] AS Value3
FROM(SELECT
ID,
DEF,
ATT,
Value
From table) as Sourcetable
Pivot (Avg(Value) FOR ATT IN ([9],[10],[11])) AS PivotTable

根据您的rdbms搜索
PIVOT