0

MySQLでクロスタブを作成したいです。

TABL1 と TBL2 の 2 つのテーブルがあります。列を行に変換する方法がわかりません。

解決策を教えてください。

次のように私のコーディング:

select * from TBL1 t1 left join TBL2 t2 on t1.des=t2.des ;

TBL1 :
DES
A
C
D
E

TBL2
ID DES
1  A
2  C
3

RESULT THAT I NEED

ID   A   C  D  E
1    1
2        1
3

よろしく、

4

2 に答える 2

0

これを試して:

SELECT
    t2.id,
    SUM(IF(t1.des IS NOT NULL AND t1.des = 'A',1,0)) as 'A',
    SUM(IF(t1.des IS NOT NULL AND t1.des = 'C',1,0)) as 'C',
    SUM(IF(t1.des IS NOT NULL AND t1.des = 'D',1,0)) as 'D',
    SUM(IF(t1.des IS NOT NULL AND t1.des = 'E',1,0)) as 'E'
FROM
    TBL2 t2
LEFT JOIN TBL1 t1
    ON t2.des = t1.des
GROUP BY
    t2.id
于 2013-06-06T07:40:02.010 に答える