sql >> Base de Datos >  >> RDS >> Oracle

Iterar sobre las filas de una segunda tabla para devolver el conjunto de resultados

Use una unión automática aquí en la table_b tabla, con la condición de unión de que el table_a_id los valores coinciden, pero label_y> label_x .

SELECT
    b1.table_a_id,
    b1.label_x,
    b2.label_y
FROM table_a a
INNER JOIN table_b b1
    ON b1.table_a_id = a.table_a_id
INNER JOIN table_b b2
    ON b2.table_a_id = b1.table_a_id AND
       b2.label_y > b1.label_x
ORDER BY
    b1.table_a_id,
    b1.label_x,
    b2.label_y;

Demostración