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

Come fare il check-in in un'altra tabella senza dati mentre si esegue mysql join?

Aggiungi la condizione IF nella query SQL, qualcosa del genere.

SELECT invoice_details.invoice_no,
       invoice_details.invoice_date,
       invoice_details.invoice_amount,
       SUM(IF(received_amount_details.received_amount IS NULL
               OR received_amount_details.received_amount = '', 0.0,
               received_amount_details.received_amount)) AS totalreceiptamt
FROM   (SELECT DISTINCT invoice_no,
                        received_amount
        FROM   received_amount_details) AS received_amount_details
       right join invoice_details
               ON received_amount_details.invoice_no =
                  invoice_details.invoice_no
WHERE  invoice_details.proje_id = '7'
GROUP  BY invoice_details.invoice_no 

Questo aggiungerà 0.0 poiché il valore predefinito non è ricevuto_importo_dettagli.received_importo È NULL o vuoto

Inoltre, stiamo facendo un'unione corretta per ottenere tutti i valori dalla pagina fattura_dettagli.

Puoi saperne di più sulla condizione IF in MYSQL qui,

https://www.w3schools.com/mysql/func_mysql_if.asp https://dev.mysql.com/doc/refman/8.0 /it/se.html