Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie checke ich ein, dass eine andere Tabelle keine Daten enthält, während ich eine MySQL-Verknüpfung durchführe?

Fügen Sie eine IF-Bedingung in einer SQL-Abfrage hinzu, so etwas in der Art.

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 

Dadurch wird 0,0 hinzugefügt, da der Standardwert nicht Received_Amount_Details ist. Received_Amount IS NULL oder leer

Außerdem machen wir einen richtigen Join, um alle Werte von der Seite "Rechnungsdetails" zu erhalten.

Hier erfahren Sie mehr über die IF-Bedingung in MYSQL,

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