Dash表示在if语句与将其转换为PostgreSQL之间的访问

问题描述 投票:0回答:2

我有一个查询,该查询是我试图用postgreSQL编写的访问数据库中的查询。我在将此行iif(isNull(table2.salaried), 0, table2.salaried) - iif(isNull(table1.paymet_due), 0, table1.paymet_due) AS salary_due转换为PostgreSQL时遇到麻烦。我很困惑的第一件事是查询中的-。这是什么意思?如何将该行转换为PostgreSQL?

SELECT
   * 
FROM
   (
      SELECT
         table1."customer_id",
         iif(isNull(table2.salaried), 0, table2.salaried) - iif(isNull(table1.paymet_due), 0, table1.paymet_due) AS salary_due 
       --coalesce(table1.paymet_due, 0) AS salary_due

      FROM
         (
            SELECT
               tbl_archive."customer_id",
               SUM(tbl_sent."grand_total_paymet_due") AS paymet_due 
            FROM
               tbl_sent 
               LEFT JOIN
                  tbl_archive 
                  ON tbl_sent."npi" = tbl_archive."cust_badge_numb" 
         )
         AS table1 
         LEFT JOIN
            (
               SELECT
                  tbl_archive."customer_id",
                  SUM(wage."Amount") AS salaried 
               FROM
                  wage 
                  LEFT JOIN
                     tbl_archive 
                     ON wage."sum_amount" = tbl_archive."cust_badge_numb" 
            )
            AS table2 
            ON table1."customer_id" = table2."customer_id"
   )
   AS tbl_salaried
database postgresql ms-access access
2个回答
2
投票

这是一个简单的减法:


1
投票

您可以使用coalesce函数返回第一个非null参数。

© www.soinside.com 2019 - 2024. All rights reserved.