内部联接SQL查询的逆

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

我正在同一张表上进行JOIN操作,但条件不同。

加入后的最终结果如下:

Col1    Col2    Col3   Col4   Col5  Col6

NULL    NULL    NULL  ValR    ValR  ValR 
NULL    NULL    NULL  ValR    ValR  ValR 
NULL    NULL    NULL  ValR    ValR  ValR 
NULL    NULL    NULL  ValR    ValR  ValR 
NULL    NULL    NULL  ValR    ValR  ValR 
ValL    ValL    ValL  NULL    NULL  NULL
ValL    ValL    ValL  NULL    NULL  NULL
ValL    ValL    ValL  NULL    NULL  NULL
ValL    ValL    ValL  NULL    NULL  NULL
ValL    ValL    ValL  ValR    ValR  ValR
ValL    ValL    ValL  ValR    ValR  ValR
ValL    ValL    ValL  ValR    ValR  ValR

我有上面的结果表。现在,在最终输出中,我想将所有记录(大概)打印在新的单个非空列表中。

对于同时具有ValL和ValR的情况,我只想采用ValR(所以是完全正确的外部联接)。但是我否则想遇到ValL(当ValR为NULL时)和ValR(当ValL为NULL时)-因此简而言之是“内部联接”的反函数。

这是我的伪查询的样子:

SELECT * from table 
where condition == false;  // prints ValL part
join type = full outer 
SELECT * from table 
where condition == true;  // prints ValR part

有人可以告诉我该怎么做吗?

我正在同一张表上进行JOIN操作,但条件不同。加入后的最终结果如下:Col1 Col2 Col3 Col4 Col5 Col6 NULL NULL NULL ValR ValR ValR ...

mysql sql join inner-join
1个回答
0
投票

如果只想对齐任意真假条件,则可以使用聚合:

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