Tôi có bảng MySQL với các trường và dữ liệu như sau;MySQL, nhiều hàng để tách các trường
PartNumber Priority SupName
a1 0 One
a2 0 One
a2 1 Two
a3 0 One
a4 1 Two
a5 2 Three
tôi đang cố gắng để tạo ra một cái nhìn nơi bộ phận mà có nhiều hàng được kết hợp thành một hàng duy nhất, và vào các lĩnh vực riêng biệt như
Lý tưởng này;
PartNumber Sup1 Sup2 Sup3
a1 One NULL NULL
a2 One Two NULL
a3 One NULL NULL
a4 Two NULL NULL
a5 Three NULL NULL
Hoặc tôi có thể sống với điều này
PartNumber Sup1 Sup2 Sup3
a1 One NULL NULL
a2 One Two NULL
a3 One NULL NULL
a4 NULL Two NULL
a5 NULL NULL Three
Làm thế nào tôi sẽ xây dựng một cái nhìn hoặc lựa chọn công bố để thực hiện điều này?
Điều gần nhất mà tôi đã thực hiện cho đến thời điểm này là;
SELECT PartNumber,
IF(Priority=0, SupName, NULL) AS Sup1,
IF(Priority=1, SupName, NULL) AS Sup2,
IF(Priority=2, SupName, NULL) AS Sup3
FROM SupXref
ORDER BY PartNumber
Tuy nhiên, điều này cho tôi một hàng riêng biệt cho từng trường và tôi cần một dòng.
đó là một crosstab, và bạn sẽ tốt hơn khi thực hiện loại chuyển đổi đó trong y khách hàng của chúng tôi. Mysql không hỗ trợ truy vấn chéo bảng trực tiếp. –
logic có chút khó hiểu. Tôi nghĩ rằng bạn có thể làm với group_concat –
Có thể muốn thêm một thẻ cho (hoặc chỉ thêm vào tiêu đề) theo nhóm, để làm điều này hữu ích hơn cho những người đến tìm kiếm :) –