如何用条件连接两个表

时间:2020-06-16 16:44:46

标签: join plsql conditional-statements

Test.cpp:6:10: fatal error: 'QTCore/qstring.h' file not found
#include <QTCore/qstring.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.

Inst_count和Inst_Type必须始终相等。 但是Card_Group和Txn_Type列在另一个表中必须与默认值(-1)匹配(如果不存在)。 怎么写这个sql? 谢谢。

1 个答案:

答案 0 :(得分:0)

在这里,我们使用OUTER JOIN,它将所有表值设置为一个resulset(您也可以为此使用UNION ALL)。然后,我们对每个表使用左连接,以确保每个列都将具有其其他值。现在,您可以使用自己的查询尝试此操作。如果您无法实现目标,那么我建议您将样本收集到dbfiddle链接中。然后我们可以做进一步的解释。

SELECT DISTINCT NVL (A.COL1, A1.COL1) COL1A,
                NVL (B.COL1, B1.COL1) COL1B,
                NVL (A.COL2, A1.COL2) COL2,
                NVL (A.COL3, A1.COL3) COL3,
                NVL (B.COL3, B1.COL3) COL4
  FROM TABLEA A
       FULL OUTER JOIN TABLEB B ON B.COL1 = A.COL1
       LEFT OUTER JOIN TABLEB B1 ON B1.COL1 = -1
       LEFT OUTER JOIN TABLEA A1 ON A1.COL1 = -1
相关问题