我有3张桌子
1)main_table
2)Flag_table
3)emp_flag详细信息
main_table结构
emp_no hod_no emp_name flgType
E51397 E44417 Asha V
E42342 E44417谢赫·法兹·艾哈迈德
E06636 E44417 Balu K U
在上表中,我将flgtype列保留为空白以供以后更新
现在我有Flag_table结构如下
FlagId FlagCategory FlagType
1 BM BRML12B
2 BM BRMM12B
3 BM BRMRMB
4 BM BRMCMB
5 BM BRMZM
6 VH BRML12V
7 VH BRMM12V
8 VH BRMRMV
9 VH BRMCMV
emp_flagdetails结构如下
编码标志
E44417 BRML12B
E42342 BRMRMB
E06636 BRMZM
E51397 BRML12B
这是我的表结构,现在我的查询是我要用Flag_table的flagcategory列更新main_table的flgtype列,这样,如果emp_flagdetails表中存在来自main_table的empno,那么我们将检查emp_flagdetails的flag列是否匹配雇员,然后我们获得该标志列值,如果在flag_table中存在该值,我们将在flag_table中找到该值,我们将使用flagcategory列值更新main_table flgtype列...。因此输出如下
emp_no hod_no emp_name flgType
E51397 E44417 Asha V BM
E42342 E44417 Shaikh Faiz Ahmed BM
E06636 E44417 Balu K U BM
请帮我写查询
最佳答案
查询:
SQLFIDDLEExample
UPDATE m
SET m.flgType = f.FlagCategory
FROM main_table m
JOIN emp_flagdetails fd
ON fd.ecode = m.emp_no
JOIN flag_table f
ON f.FlagType = fd.flag;