有人能帮我用sql连接两个表吗?在连接之后,行应该显示为列,如下所示。
我有两张表T1和T2
T1
------------
Id. Name date
--------------
1 AAA 2019-05-06
2 BBB 2019-05-06
T2
---------------
Id. attr_name. attr_value. date
--------------------
1 . PP0 8 2019-05-06
1 . PD0 125.00 2019-05-06
1 PP1 2 2019-05-06
1 PD1 150.00 2019-05-06
3 PP0 5 2019-05-06
3 PD1 50.00 2019-05-06
如果有PP0,就会有对应的PD0
My output should be
---------------------
Id Name attr_pp_name attr_pp_value. attr_pd_name attr_pd_value
1 AAA PP0 8 PD0 125.00
1. AAA PP1 2 PD1 150.00
我尝试了下面的查询
select t.Id, t.name ea.attr_name ,ea.attr_value, ea1.attr_name, ea1.attr_value from T1 t
INNER JOIN T2 ea ON t.id = ea.id AND ea.attr_name IN ('PP0', 'PP1')
INNER JOIN T2 ea1 ON t.id = ea.id AND ea.attr_name IN ('PD0', 'PD1');
但是上面的查询给出了重复的结果,如
Id Name attr_pp_name attr_pp_value. attr_pd_name attr_pd_value
1 AAA PP0 8 PD0 125.00
1. AAA PP1 2 PD1 150.00
1 AAA PP0 2 PD1 150.00
1. AAA PP1 8 PD0 125.00
https://stackoverflow.com/questions/56247387
复制相似问题