@Bisekenov

Как исключить повторяющиеся занчение у оператора PIVOT?

Всем привет! есть таблица (как бы эл.журнал), хотел вывести данные через перекрестный запрос но поля повторяется
SELECT  ID_KEY2,[2017-10-27],[2017-10-28]
FROM 
(SELECT ID, ID_KEY2, OCENKA, DAT
FROM Journal2) p
PIVOT
(AVG(OCENKA) FOR DAT IN ( [2017-10-27],[2017-10-28] ) ) AS pvt ORDER BY pvt.ID_KEY2;

ID_KEY2 - это идентификатор учащегося
OCENKA - Оценка которую он получил
DAT - формат даты, число получения оценки

Вот я просто сделал запрос для себя, а тут ID_KEY2 повторяется.
Например учащийся с ID_KEY2 = 1 получил оценку 5 в 27-10-2017 и 4 ку в 28-10-2017
В результате выполнения выше приведенного запроса учащийся с ID_KEY2 = 1 выходит на первой строке по дате 27-10-2017 и на второй по дате 28-10-2017
Не могу сделать что бы был в строке один раз в соответствующих столбцах
Что я делаю не правильно?
Всем заранее спасибо!))
  • Вопрос задан
  • 234 просмотра
Пригласить эксперта
Ответы на вопрос 1
art_karetnikov
@art_karetnikov
Лучший мой проект: Мобильный банк Сбербанка РФ.
Ну так уберите лишние id до того, как делаете Pivot

(SELECT ID, ID_KEY2, OCENKA, DAT
FROM Journal2) p - вот у вас подзапрос, из которого берутся данные. Поскольку просто написать DISTINCT не выйдет, то его надо переделать, чтобы у вас на каждый id была одна дата.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы