sql >> データベース >  >> RDS >> Mysql

mysql結合を実行しているときに別のテーブルにデータがないことを確認する方法は?

    SQLクエリにIF条件を追加します。このようなものです。

    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 
    

    デフォルト値が受信されないため、これにより0.0が追加されます_amount_details.received_amountISNULLまたは空白

    また、invoice_detailsページからすべての値を取得するために右結合を実行しています。

    MYSQLのIF条件について詳しくは、こちらをご覧ください

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




    1. MySQLデータベースに画像を保存する

    2. MySQLXMLクエリ

    3. JavaからMySQLに接続できません:MySQLドライバー接続ロジック内のNullPointerException

    4. GROUPBYは最初のレコードを返します