我必须转换它:
id name product description
---------------------------
1 Kurt p1 water
1 Kurt p2 salt
2 Claude p3 pepper
2 Claude p4 mint
进入这个:
id name product1 description1 product2 description2
-----------------------------------------------------
1 Kurt p1 water p2 salt
2 Claude p3 pepper p4 mint
拜托,我正在寻找答案,我没有找到这个......
表结构如下:
client
(ID,名称和更多数据)products
(ID,说明和更多数据)prodclient
(id,idclient,idproduct)谢谢
PD。我想要添加到第二个结果列的行是相同的数据,而不是添加值。
答案 0 :(得分:1)
试试这个
http://sqlfiddle.com/#!6/12b1c/6/0
CREATE TABLE Products
( id int, name varchar(6), product varchar(2), description varchar(6))
;
INSERT INTO Products
(id, name, product, description)
VALUES
(1, 'Kurt', 'p1', 'water'),
(1, 'Kurt', 'p2', 'salt'),
(2, 'Claude', 'p3', 'pepper'),
(2, 'Claude', 'p4', 'mint')
;
WITH ProductList as
(
select
name,
max(product) as product1,
min (product) as product2
from Products
group by name
)
select pl.*,p1.description as description1 , p2.description as description2
from ProductList pl
Left Outer Join Products P1
on pl.product1 = p1.product
Left Outer Join Products P2
on pl.product2 = p2.product