sql >> Databáze >  >> RDS >> Oracle

jak sloučit dvě tabulky, abyste získali poslední nové řádky z tabulky 2 a zbytek z tabulky 1

Stačí použít NOT IN najít záznamy, které se neshodují s new_table g a shromáždit se záznamy získanými pomocí INNER JOIN

SELECT f.id_hist, f.producto, f.price
FROM TABLE(fnc_historical('JAP')) f
WHERE f.id_hist NOT IN
(SELECT DISTINCT f.id_hist
FROM TABLE(fnc_historical('JAP')) f
    inner join new_table g on (f.id_new = g.id_hist)
)
UNION
SELECT f.id_hist, f.producto, g.new_price
FROM TABLE(fnc_historical('JAP')) f
    inner join new_table g on (f.id_new = g.id_hist)


  1. SQL:výběr řádků, kde se hodnota sloupce změnila oproti předchozímu řádku

  2. Volání notace pro podprogramy PL/SQL v databázi Oracle

  3. Jaké jsou výhody VistaDB

  4. Rozbalovací nabídka přístupu TreeView ImageCombo