вопрос
Есть допполе kp. В таблице dle_post есть столбцы kp_id_person и kp_id_movie. Нужно для всех новостей, которые находятся в категории ID:5 скопировать значение допполя kp в столбец kp_id_person, а для всех новостей с категорий ID:1, 2 и 3 значение этого же допполя скопировать в kp_id_movie. Можно ли это сделать запросом SQL запросом? Если да, то подскажите, пожалуйста, каким?
Да, это можно сделать с помощью SQL запроса. Для этого можно использовать оператор UPDATE с условием WHERE для выборки нужных новостей. Вот пример такого запроса:
В этом запросе мы выбираем таблицу dle_post и обновляем столбец kp_id_person или kp_id_movie, в зависимости от категории новости. В первом операторе UPDATE мы выбираем все новости, которые находятся в категории 5 и копируем значение поля kp в столбец kp_id_person. Во втором операторе UPDATE мы выбираем все новости, которые находятся в категориях 1, 2 или 3 и копируем значение поля kp в столбец kp_id_movie.
UPDATE dle_post
SET kp_id_person = kp
WHERE category = 5;
UPDATE dle_post
SET kp_id_movie = kp
WHERE category IN (1, 2, 3);
В этом запросе мы выбираем таблицу dle_post и обновляем столбец kp_id_person или kp_id_movie, в зависимости от категории новости. В первом операторе UPDATE мы выбираем все новости, которые находятся в категории 5 и копируем значение поля kp в столбец kp_id_person. Во втором операторе UPDATE мы выбираем все новости, которые находятся в категориях 1, 2 или 3 и копируем значение поля kp в столбец kp_id_movie.