Parazival Ответов: 1

Как написать запрос в oracle


далее ИД статус кол-во
1 321 до LK123
2 321 до LK123
3 321 завершена LK123
4 456 до LK234
5 456 завершено LK456

если статус меняется на один пит, то я хочу показать только XYZ и если статус меняется на разных Нумс я хочу показать всех

как показано ниже
Идентификатор Статус Кол-Во
321 завершена LK123
456 до LK234
456 завершено LK456

с TQ.

Что я уже пробовал:

у меня есть показ всех (abc , xyz)

CHill60

Как вы определяете, что статус изменился?
Ваши требования не ясны. Поделитесь своим кодом, это может помочь нам понять

Parazival

Теперь анализировать.
Статус-это только "abc" и "xyz", вот и все, как просто предположим, что ожидание и завершение, и я показываю все ожидающие и завершенные, как первая таблица, о которой я упоминал в вопросе

CHill60

Таким образом, вы можете только сказать, каков текущий статус, а не то, что он изменился. Кстати, было бы намного легче понять, если бы вы действительно использовали "ожидание" и "завершено" вместо " abc " и "xyz".
Ваши требования все еще не ясны. Какую логику вы используете, чтобы показать записи, которые вы ожидаете

Parazival

-》 Если один и тот же номер имеет ожидание и завершение по одному и тому же идентификатору, то мы можем непосредственно показать "полную" запись(нет необходимости показывать ожидающие записи).

-》 Если разные номера имеют разный статус по одному и тому же идентификатору, то мы должны показать все записи этого идентификатора

1 Ответов

Рейтинг:
0

OriginalGriff

Видеть здесь: Oracle / PLSQL: предложение GROUP BY[^] Используйте его для сбора всех связанных строк и возврата максимального значения Seq для каждой группы.
Затем вы можете использовать JOIN для извлечения только тех строк, которые соответствуют этому значению Seq.