Мне нужно добавить одно условие к этому запросу:

UPDATE o36t_orders s 
SET s.bonifico = EXISTS (SELECT 1 
                         FROM mytable d 
                         WHERE d.Descrizione_operazione 
                         LIKE CONCAT('%', s.shipping_number,'%') )

Условие должно быть для обновления, только если s.bonifico != 1

sql
0
Angelo Ermano 4 Дек 2019 в 18:37
Выборочные данные и желаемые результаты действительно помогут. = EXISTS - это просто необычная конструкция SQL.
 – 
Gordon Linoff
4 Дек 2019 в 18:39
4
Добавьте предложение WHERE с условием.
 – 
forpas
4 Дек 2019 в 18:40
ОБНОВЛЕНИЕ o36t_orders s SET s.bonifico = EXISTS (ВЫБРАТЬ 1 ИЗ mytable d WHERE d.Descrizione_operazione LIKE CONCAT ('%', s.shipping_number, '%') AND s.bonifico! = 1)
 – 
Joshua Poling
4 Дек 2019 в 19:28

2 ответа

Вы можете использовать этот код для вашей проблемы:

//CONNECT DB - FETCH RESULT
$variable=$row['s.bonifico'];
if($variable!='1'){    
UPDATE o36t_orders s SET s.bonifico = EXISTS (SELECT 1 FROM mytable d WHERE d.Descrizione_operazione LIKE CONCAT('%', s.shipping_number,'%') )
}
0
Simone Rossaini 4 Дек 2019 в 18:40

Вероятно, вам нужно следующее:

UPDATE o36t_orders s 
SET s.bonifico = EXISTS (SELECT 1 
                         FROM mytable d 
                         WHERE d.Descrizione_operazione 
                         LIKE CONCAT('%', s.shipping_number,'%') )
WHERE s.bonifico != 1;
1
GreenTurtle 4 Дек 2019 в 20:27