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? 谢谢。
答案 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