sql >> Databasteknik >  >> RDS >> Mysql

Hur man checkar in en annan tabell har inga data när man gör mysql join?

Lägg till IF-villkor i SQL-fråga, något sånt här.

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 

Detta kommer att lägga till 0.0 eftersom standardvärdet inte är receive_amount_details.received_amount IS NULL or blank

Vi gör också rätt gå med för att få alla värden från sidan invoice_details.

Du kan lära dig mer om IF-villkor i MYSQL här,

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




  1. php:vända mysql_real_escape_strings effekter på binär

  2. Upprätthålla ett grupperat löpande MAX (eller MIN)

  3. Undantag i samband med mysql genom jdbc

  4. Få Prevision Nästa post i EN RAD