Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Iterar sobre as linhas de uma segunda tabela para retornar o conjunto de resultados


Use uma autojunção aqui na table_b table, com a condição de junção sendo que o table_a_id os valores correspondem, mas 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;



Demonstração