Разработчики,
Я новичок в сводных таблицах, и у меня возникла небольшая проблема с дубликатами.Моя таблица перед поворотом выглядит так:
location | еда
Теннесси |груша
Теннесси |оранжевый
Флорида |оранжевый
Флорида |яблоко
Вирджиния |pear
Вот код для pivot, который отлично работает:
SELECT PivotTable.location, [apple], [orange], [pear]
FROM
(SELECT location, food FROM someTable) as inventory
PIVOT
(COUNT(inventory.food) FOR inventory.location IN ([apple],[orange],[pear])) AS PivotTable
Это приводит к выводу примерно так:
Location | Apple | Оранжевый | Груша
Теннесси |0 |1 |1
Флорида |1 |1 |0
Вирджиния |0 |0 |1
Что, как я уже сказал, работает нормально.Тем не менее, я добавил новые столбцы для комментариев к моей исходной таблице, например:
location | еда | apple_comments | orange_comments | pear_comments
Теннесси |груша |NULL |NULL |NULL
Теннесси |апельсин |NULL |очень сочная |NULL
Флорида |апельсин |NULL |NULL |NULL
Флорида |яблоко |свежий |NULL |NULL
Вирджиния |груша |NULL |NULL |вкусно
Вот моя измененная сводная таблица для учета комментариев:
SELECT PivotTable.location, [apple], [apple_comments], [orange], [orange_comments], [pear], [pear_comments]
FROM
(SELECT location, food, apple_comments, orange_comments, pear_comments FROM someTable) as inventory
PIVOT
(COUNT(inventory.food) FOR inventory.location IN ([apple],[orange],[pear])) AS PivotTable
Это приводит к выводу примерно так:
Местоположение | Apple | apple_comments | Оранжевый | Orange_comments | Груша | Pear_comments
Теннесси |0 |NULL |0 |NULL |1 |NULL
Теннесси |0 |NULL |1 |очень сочная |0 |NULL
Флорида |0 |NULL |1 |NULL |0 |NULL
Флорида |1 |свежий |1 |NULL |0 |NULL
Вирджиния |0 |NULL |1 |NULL |1 |вкусно
Итак, по сути, создается дублирующаяся строка, когда комментарии добавляются для каждой записи, где есть несколько мест.В случае Вирджинии есть только одна запись, поэтому ряд получается нормально.
Почти кажется, что мне нужно сделать еще один круг или что-то в этом роде.Может кто-нибудь дать совет, где я иду не так?
Извините.Желаемый результат должен выглядеть так:
Местоположение | яблоко | apple_comments | Оранжевый | Orange_comments | Груша | Pear_comments
Теннесси |0 |NULL |1 |очень сочная |1 |NULL
Флорида |1 |свежий |1 |NULL |0 |NULL
Вирджиния |0 |NULL |1 |NULL |1 |вкусно
По сути, объединение дубликатов в один ряд.
Спасибо.