У меня есть сценарий, в котором мне нужно скопировать некоторые конкретные значения столбца из master_table в тот же столбец slave_table.Обратите внимание, что slave_table уже содержит данные, мне нужно обновлять определенные поля только на основе условий, которые я определяю, используя условие where.
Ниже приведены структуры таблиц.
Master_table
id zzco1 zzco2 zzco3 zzco4 zzco5 quote_id quote_option_id
-----------------------------------------------------------------------------
1 ded 34 6.90 90 sad 10000123 2009090
2 rfg 45 7.90 30 sd 10000256 2008020
3 hji 62 80.90 70 pt 10000963 2009603
4 opp 30 61.90 20 rts 10000785 2007562
Slave_table
id zzco1 zzco2 zzco3 zzco4 zzco5 quote_id quote_option_id zzco7 zzco8 zzco9
-----------------------------------------------------------------------------------------------------
1 null null null null null 10000123 2009090 cbz xcc
2 null null null null null 10000123 2009090 cbz xcc
3 null null null null null 10000123 2009090 cbz xcc
4 null null null null null 10000256 2008020 szc zxc
5 null null null null null 10000256 2008020 szc zxc
6 null null null null null 10000256 2008020 szc zxc
ожидаемый_ выход ниже
Slave_table
id zzco1 zzco2 zzco3 zzco4 zzco5 quote_id quote_option_id zzco7 zzco8 zzco9
-----------------------------------------------------------------------------------------------------
1 ded 34 6.90 90 sad 10000123 2009090 cbz xcc
2 ded 34 6.90 90 sad 10000123 2009090 cbz xcc
3 ded 34 6.90 90 sad 10000123 2009090 cbz xcc
4 rfg 45 7.90 30 sd 10000256 2008020 szc zxc
5 rfg 45 7.90 30 sd 10000256 2008020 szc zxc
6 rfg 45 7.90 30 sd 10000256 2008020 szc zxc
на основе quote_id
и quote_option_id
, необходимо скопировать данные из master_table
до slave_table
Я попробовал приведенный ниже запрос, но он не работает должным образом.он хранит только нулевые значения.
UPDATE slav
SET slav.zzco1 = mast.zzco1,
slav.zzco2 = mast.zzco2,
slav.zzco3 = mast.zzco3,
slav.zzco4 = mast.zzco4,
slav.zzco5 = mast.zzco5,
FROM slave_table AS slav
left JOIN master_table AS mast
ON mast.quote_id = slav.quote_id and mast.quote_option_id = slav.quote_option_id
WHERE slav.quote_id = 'quote_id'
AND slav.quote_option_id= 'quote_option_id';
пожалуйста, исправьте меня, если я ошибаюсь в запросе.Любые предложения и предложения приветствуются.