Создание столбцов на основе элементов OrderID - PullRequest
0 голосов
/ 15 января 2019

Я работаю с базовой таблицей, и мне любопытно, есть ли возможность иметь все, чтобы мой идентификатор отображался в одной строке? Ниже я показал пример моего текущего запроса и вывода, а также то, как я хотел бы видеть вывод.

Выберите 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

Ответы [ 2 ]

0 голосов
/ 15 января 2019

попробуйте это SELECT OrderID, случай, когда item = Apple, затем вес заканчивается как яблоко, случай, когда item = Banana, а вес заканчивается как Banana, случай, когда item = Orange, а вес заканчивается как оранжевый, ..., местоположение из вашего стола

0 голосов
/ 15 января 2019

Кажется, вам нужна условная агрегация:

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
...