你可以使用這樣的查詢來得到你的結果:
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]>
感謝@BrandBuffen這工作就像魅力 – Sadikhasan