我編寫一個查詢來找到一些記錄...轉換成查詢使用EXISTS
select account_num, mob_tele_feat_uid, mob_tele_feat, done
from LOAD_MOBILE_DATA lmd1
where (mob_tele_feat is null and mob_tele_feat_uid is not null)
or (mob_tele_feat is not null and mob_tele_feat_uid is null);
數據表 - 第一個查詢的
4579214598412 223344 {sw_dcf=Gold}|{sw_dcf_active_voice_bsg=Silver}|{sw_cfb=bronze}|{sw_c=bronze} S
4579214598412 223344 S
null null null P
輸出---
4579214598412 223344 null S
我想在更新語句中使用此查詢使用存在如
update load_mobile_data lmd
set done = 'P'
where exists
(select account_num, mob_tele_feat_uid, mob_tele_feat, done
from LOAD_MOBILE_DATA lmd1
where (mob_tele_feat is not null and mob_tele_feat_uid is null)
or (mob_tele_feat is null and mob_tele_feat_uid is not null)
and lmd.account_num = lmd1.account_num
and lmd.mob_tele_feat = lmd.MOB_TELE_FEAT
and lmd.MOB_TELE_FEAT_UID = lmd.MOB_TELE_FEAT_UID);
我要標示爲完成列= P在LOAD_MOBILE_DATA情形之一mob_tele_feat爲null,並且mob_tele_feat_uid不爲空或mob_tele_feat_uid爲空,但mob_tele_feat不爲空
什麼是你的問題? –
如果表中沒有mob_tele_feat,但存在mob_tele_feat_uid,或者存在mob_tele_feat但mob_tele_feat_uid不存在,則需要將load_mobile_data表的done列標記爲'P' – mradul
您發佈的查詢出了什麼問題? –