2015-04-02 68 views
0

請有人建議如何根據表A和表B信息爲下面的結果編寫一個mySQL查詢。MySQL數據庫加入查詢

Table A 
======= 

ID | Product 
------------ 
1 | A 
2 | B 
3 | C 

Table B 
======= 

ID | Link | Extra Field | Extra Value 
------------------------------------- 
1 | 1 | Tax   | Yes 
2 | 1 | Photo  | No 
3 | 2 | Tax   | Yes 
4 | 2 | Photo  | Yes 
5 | 3 | Tax   | No 
6 | 3 | Photo  | Yes 

Result 
====== 

Product | Tax | Photo 
--------------------- 
A  | Yes | No 
B  | Yes | Yes 
C  | No | Yes 

回答

0

一種方法是joingroup by查詢,有條件聚集。

select a.product, 
     max(case when field1 = 'tax' then field2 end) as tax, 
     max(case when field1 = 'photo' then field2 end) as photo 
from a join 
    b 
    on a.id = b.link 
group by a.product;