Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment vérifier qu'une autre table n'a pas de données lors de la jointure mysql?

Ajouter la condition IF dans la requête SQL, quelque chose comme ça.

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 

Cela ajoutera 0,0 car la valeur par défaut n'est pas receive_amount_details.received_amount IS NULL ou vide

Nous effectuons également une jointure droite pour obtenir toutes les valeurs de la page de détails de la facture.

Vous pouvez en savoir plus sur la condition IF dans MYSQL ici,

https://www.w3schools.com/mysql/func_mysql_if.asp https://dev.mysql.com/doc/refman/8.0 /fr/if.html