Bạn có thể sử dụng một biểu thức bảng chung để cung cấp cho mỗi người mua một đơn đặt hàng trong nhà cung cấp và sau đó chỉ cần thực hiện một trường hợp thông thường để đưa họ vào các cột;
WITH cte AS (
SELECT supplier, buyer,
ROW_NUMBER() OVER (PARTITION BY supplier ORDER BY buyer) rn
FROM Table1
)
SELECT supplier,
MAX(CASE WHEN rn=1 THEN buyer END) buyer1,
MAX(CASE WHEN rn=2 THEN buyer END) buyer2,
MAX(CASE WHEN rn=3 THEN buyer END) buyer3
FROM cte
GROUP BY supplier;