2016-07-30 101 views
0

我在sql小提琴中給出的表中有以下數據。作爲標籤矩陣的Mysql值

http://sqlfiddle.com/#!9/6d8fd5/1

問題:在下面的輸出在它的所有列重複相同值。

label   XS  S  M  L  XL  2XL  3XL  4XL 
Chest girth  70  70  70  70  70  70  70  70 
length   66  66  66  66  66  66  66  66 
Sleeve length 62  62  62  62  62  62  62  62 

解決方案:我想XSXS列,小號小號柱等

我的SQL查詢值:

SELECT 
    label, 
    VALUE AS XS, 
    VALUE AS S, 
    VALUE AS M, 
    VALUE AS L, 
    VALUE AS XL, 
    VALUE AS 2XL, 
    VALUE AS 3XL, 
    VALUE AS 4XL 
FROM 
    test 
GROUP BY 
    label 

回答

1

你可以使用這樣的查詢來得到你的結果:

SELECT 
    label, 
    MAX(IF(size_label = 'XS', VALUE,null)) AS XS, 
    MAX(IF(size_label = 'S ', VALUE,null)) AS S, 
    MAX(IF(size_label = 'M', VALUE,null)) AS M, 
    MAX(IF(size_label = 'L', VALUE,null)) AS L, 
    MAX(IF(size_label = 'XL', VALUE,null)) AS XL, 
    MAX(IF(size_label = '2XL',VALUE,null)) AS 2XL, 
    MAX(IF(size_label = '3XL',VALUE,null)) AS 3XL, 
    MAX(IF(size_label = '4XL',VALUE,null)) AS 4XL 
FROM 
    test 
GROUP BY 
    label; 

樣品

MariaDB [yourschema]> SELECT 
    -> label, 
    -> MAX(IF(size_label = 'XS', VALUE,null)) AS XS, 
    -> MAX(IF(size_label = 'S ', VALUE,null)) AS S, 
    -> MAX(IF(size_label = 'M', VALUE,null)) AS M, 
    -> MAX(IF(size_label = 'L', VALUE,null)) AS L, 
    -> MAX(IF(size_label = 'XL', VALUE,null)) AS XL, 
    -> MAX(IF(size_label = '2XL',VALUE,null)) AS 2XL, 
    -> MAX(IF(size_label = '3XL',VALUE,null)) AS 3XL, 
    -> MAX(IF(size_label = '4XL',VALUE,null)) AS 4XL 
    -> FROM 
    -> test 
    -> GROUP BY 
    -> label; 
+---------------+------+------+------+------+------+------+------+------+ 
| label   | XS | S | M | L | XL | 2XL | 3XL | 4XL | 
+---------------+------+------+------+------+------+------+------+------+ 
| Chest girth | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 
| length  | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 
| Sleeve length | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 
+---------------+------+------+------+------+------+------+------+------+ 
3 rows in set (0.00 sec) 

MariaDB [yourschema]> 
+0

感謝@BrandBuffen這工作就像魅力 – Sadikhasan