我正在使用基本表,并且很好奇是否有可能将我的ID的所有内容都显示在同一行上吗?下面,我显示了当前查询和输出的示例,以及我希望如何显示输出。
从样品订单中按OrderID选择OrderID,项目,数量,位置
-----------------------------------
|OrderID | Item | Weight | Location|
-----------------------------------
1 apple 4.2 Wi
1 banana 2.1 Wi
2 orange 1 Mi
3 apple 1.8 Mn
3 grape .5 Mn
我希望看到它像这样导出:
------------------------------------------------------
|OrderID | Apple | Banana | Orange | Grape | Location|
------------------------------------------------------
1 4.2 2.1 Wi
2 1 Mi
3 1.8 .5 Mn
答案 0 :(得分:1)
您似乎需要条件聚合:
SELECT
OrderID,
MAX(CASE WHEN item = 'apple' THEN weight END) Apple,
MAX(CASE WHEN item = 'banana' THEN weight END) Banana,
MAX(CASE WHEN item = 'orange' THEN weight END) Orange,
MAX(CASE WHEN item = 'grape' THEN weight END) Grape
Location
FROM samples
GROUP BY OrderID, Location
答案 1 :(得分:0)
尝试一下 SELECT OrderID,如果item =苹果然后重量结束为苹果,则为case,当item = Banana然后重量结束为香蕉时,为case,当item = Orange然后重量结束为橙色时,..., 您的位置中的位置