比较一个表中不包含特定字符串的列

时间:2016-05-15 22:41:06

标签: mysql database

我在两个表中有四列,比如C1,C2,C3和C4。现在每个都可以有任何字符串值。我想比较表1中没有值“NOT POSSIBLE”值的所有列。假设C1和C2的值“不可能”,那么我将比较两个表中的C3和C4。

如果我们有两列,这很容易。但如何处理四列?有什么好主意吗?

对于两列,像这样的简单案例将起作用:

CASE
        WHEN t1.C1 = 'NOT POSSIBLE' AND t1.C2 != 'NOT POSSIBLE'
        THEN t1.C2=t2.C2
        WHEN t1.C2 = 'NOT POSSIBLE' AND t1.C1 != 'NOT POSSIBLE'
        THEN t1.C1=t2.C1
        ELSE 
            t1.C1=t2.C1 AND 
            t1.C2=t2.C2
end;

1 个答案:

答案 0 :(得分:0)

您可以使用(不是关于null - 值)

(t1.C1 = 'NOT POSSIBLE' or t1.C1 = t2.C1) and (t1.C2 = 'NOT POSSIBLE' or t1.C2 = t2.C2) 
and (t1.C3 = 'NOT POSSIBLE' or t1.C3 = t2.C3) and (t1.C4 = 'NOT POSSIBLE' or t1.C4 = t2.C4)