sql >> Database teknologi >  >> RDS >> Mysql

Sammenføjning - felter i tabel 2 tilsidesætter dem i tabel 1

Brug en LEFT JOIN sammen med IFNULL for først at kontrollere tilsidesættelserne og fallback, hvis der ikke findes nogen tilsidesættelse.

SELECT p.partnum, 
    IFNULL(d.price, p.price) AS price,
    IFNULL(d.installtime, p.installtime) AS installtime
FROM products p 
  LEFT JOIN overrides d ON d.dealerID = 123
      AND p.partnum = d.partnum  

Bemærk:Jeg flyttede WHERE dealerID = 123 til join-prædikatet for at hente alle produkter, og tilsidesættelserne for en specifik forhandler.



  1. Enkel måde at transponere kolonner og rækker i SQL?

  2. Hvordan kombinerer man to rækker og beregner tidsforskellen mellem to tidsstempelværdier i MySQL?

  3. Glemt adgangskode script PHP mysqli

  4. Tabel-vurderede funktioner i ORACLE 11g ? (parametriserede visninger)