Не уверен, что именно вы хотите, но мы могли бы попробовать здесь использовать аналитические функции. Вызов MAX
ниже найдет delivery_date
записи, имеющей type_id
B
, для каждой группы записей, соответствующей одному order_no
.
SELECT
order_no,
line_no,
type_id,
delivery_date,
MAX(CASE WHEN type_id = 'B' THEN delivery_date END)
OVER (PARTITION BY order_no) max_date
FROM orders;
** * 1013 1014 *
Демо