我有两个专栏,我正试图解决一些混合数据。混合数据的两列是industry
和theme
。有一个占位符列可以保存名为industry_temp
和theme_temp
的数据。
由于theme
比industry
更多,我正在尝试执行以下两个步骤,只有第一个工作正如我预期的那样:
1)将行业临时表设置为等于混合到主题类别
中的所有行业类型UPDATE my_table SET industry_temp=theme WHERE theme='industry_type_1' OR theme='industry_type_2' OR theme='industry_type_3' OR theme='industry_type_4';
2)当主题类型不等于行业类型时,将主题临时表设置为等于所有主题类型。
UPDATE my_table SET theme_temp=industry WHERE industry <> 'industry_type_1' OR industry <> 'industry_type_2' <> OR industry <>'industry_type_3' OR industry <> 'industry_type_4';
第2步不尊重<>
运算符并添加行业列
答案 0 :(得分:1)
我认为您需要AND
而不是OR
但为简单起见NOT LIKE 'industry_type_%'
应达到目标。
答案 1 :(得分:1)
使用NOT IN
,逻辑更容易理解:
UPDATE my_table
SET theme_temp=industry
WHERE industry NOT IN ('industry_type_1', 'industry_type_2', 'industry_type_3', 'industry_type_4');