现有表table结构如下(含数据):
date|object|target |value
----+------+---------+-----------
1999|objA|name |'99_objA_name'
1999|objA|number |'99_objA_number'
1999|objB|name |'99_objB_name'
1999|objB|number |'99_objB_number'
2000|objA|name |'00_objA_name'
2000|objA|number |'00_objA_number'
2000|objB|name |'00_objB_name'
2000|objB|number |'00_objB_number'
其中每一行记录为一个指标值,如第一条为1999年对象objA的name指标的值.
请问sql语句怎么写能够得到以下结果:
date|object|name
|number
----+------+--------------+-----------
1999|objA|'99_objA_name'|'99_objA_number'
1999|objB|'99_objB_name'|'99_objB_number'
2000|objA|'00_objA_name'|'00_objA_number'
2000|objB|'00_objB_name'|'00_objB_number'
用以下语句可以得到上面的结果,但太麻烦(尤其是当有多个不同的target时),请问有没有更简单的办法.
select t_1.date,t_1.object,t_1.value as name,t_2.value as number from table t_1,table t_2 where
t_1.date=t_2.date and
t_1.object=t_2.object and
tar_1.target='name' and
tar_2.target='number'
|