sql 将 2 行合并为 1

sql combine 2 rows into one

我有以下数据集:

我正在尝试将左侧的 table 转换为右侧的 table。我有几份名称相同但销售的产品不同的订单。我想合并行以便它只显示一个 orderID。我试过根据顺序将 table 加入自身,但我一定是做错了什么。你们有什么建议吗?这可能非常简单,但我还不精通 SQL。先感谢您。

如果每一列最多有一个值,可以使用group by:

select order, name, max(product1) as product1, max(product2) as product2,
       max(product3) as product3
from lefttable
group by order, name;

也就是说,我怀疑左边的table是查询数据的结果。您可能只需要该查询的正确聚合。

此外,如果您在订单的任何列中有多个值,您仍然可以这样做,但查询会稍微复杂一些。