powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос на запись с переменной из другой таблицы
8 сообщений из 8, страница 1 из 1
Запрос на запись с переменной из другой таблицы
    #40095779
Demanoco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добра, что-то не могу понять как написать запрос insert на добавление строк с несколькими фиксированными значениями но одной общей переменной. т.е.
Есть запрос на запись нескольких строк в таблицу
Код: sql
1.
2.
3.
4.
5.
6.
INSERT INTO `oc_product_option_value` 
(`product_option_value_id`, `product_option_id`, `product_id`, `option_id`, `option_value_id`, `quantity`, `subtract`, `price`, `price_prefix`, `points`, `points_prefix`, `weight`, `weight_prefix`) 
VALUES (NULL, '231', '56', '14', '53', '60', '1', '0.0000', '2', '0', '+', '0.00000000', '+'), 
(NULL, '231', '56', '14', '52', '58', '1', '0.0000', '2', '0', '+', '0.00000000', '+'), 
(NULL, '232', '56', '13', '49', '59', '1', '0.0000', '2', '0', '+', '0.00000000', '+'), 
(NULL, '232', '56', '13', '50', '61', '1', '0.0000', '2', '0', '+', '0.00000000', '+')


Код: sql
1.
2.
3.
4.
INSERT INTO `oc_product_option` 
(`product_option_id`, `product_id`, `option_id`, `value`, `required`) 
VALUES (NULL, '56', '14', '3', '0'), 
(NULL, '56', '13', '3', '0')


Как мне в эти запросы в значение `product_id` подставлять `product_id` из другой таблицы?

я хотел попробовал
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
INSERT INTO `oc_product_option_value` (`product_option_value_id`, `product_option_id`, `product_id`, `option_id`, `option_value_id`, `quantity`, `subtract`, `price`, `price_prefix`, `points`, `points_prefix`, `weight`, `weight_prefix`) 
VALUES (NULL, '231', product_id IN (SELECT product_id FROM oc_product ), '14', '53', '60', '1', '0.0000', '2', '0', '+', '0.00000000', '+'),
 (NULL, '231', 'product_id IN (SELECT product_id FROM oc_product )', '14', '52', '58', '1', '0.0000', '2', '0', '+', '0.00000000', '+'),
 (NULL, '232', product_id IN (SELECT product_id FROM oc_product ), '13', '49', '59', '1', '0.0000', '2', '0', '+', '0.00000000', '+'),
 (NULL, '232', product_id IN (SELECT product_id FROM oc_product ), '13', '50', '61', '1', '0.0000', '2', '0', '+', '0.00000000', '+');

INSERT INTO `oc_product_option` (`product_option_id`, `product_id`, `option_id`, `value`, `required`)
VALUES (NULL, product_id IN (SELECT product_id FROM oc_product ), '14', '3', '0'), 
(NULL, product_id IN (SELECT product_id FROM oc_product ), '13', '3', '0');


по сути мне нужно добавить опции к товару c определенным id, а как добавить в insert into в values несколько переменных.
Помогите пожалуйста
PS. решения для msql 8.0 скорее всего не сработают у меня на хостинге
...
Рейтинг: 0 / 0
Запрос на запись с переменной из другой таблицы
    #40095814
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Demanoco
Как мне в эти запросы в значение `product_id` подставлять `product_id` из другой таблицы?
Забыть нахрен про INSERT .. VALUES. Использовать INSERT .. SELECT.
...
Рейтинг: 0 / 0
Запрос на запись с переменной из другой таблицы
    #40095821
Demanoco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

А пример можно? а то голова совсем не варит
...
Рейтинг: 0 / 0
Запрос на запись с переменной из другой таблицы
    #40095825
Demanoco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Demanoco
Как мне в эти запросы в значение `product_id` подставлять `product_id` из другой таблицы?
Забыть нахрен про INSERT .. VALUES. Использовать INSERT .. SELECT.

примерно такой запрос?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
INSERT INTO `oc_product_option`
(`product_option_id`, `product_id`, `option_id`, `value`, `required`) 
SELECT 
NULL AS product_option_id,
 (select product_id from oc_product WHERE product_id<100) AS product_id,
 '14' As option_id,
 '3' as value,
 '0' AS required


но он не пашет.

как сделать запрос на добавление строк, только чтобы значения product_id Брались из другой таблицы
я никак не разберусь
...
Рейтинг: 0 / 0
Запрос на запись с переменной из другой таблицы
    #40095831
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
INSERT INTO oc_product_option (product_id, option_id, value, required) 
SELECT product_id, 14, 3, 0
FROM oc_product 
WHERE product_id<100
...
Рейтинг: 0 / 0
Запрос на запись с переменной из другой таблицы
    #40095847
Demanoco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Код: sql
1.
2.
3.
4.
INSERT INTO oc_product_option (product_id, option_id, value, required) 
SELECT product_id, 14, 3, 0
FROM oc_product 
WHERE product_id<100



Спасибо, а если несколько переменных из разных таблиц?
т.е
Код: sql
1.
2.
3.
4.
INSERT INTO oc_product_option (product_id, option_id, value, required) 
SELECT product_id, 14, value, 0
FROM oc_product 
WHERE product_id<100


тут как быть?
...
Рейтинг: 0 / 0
Запрос на запись с переменной из другой таблицы
    #40095853
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Demanoco
а если несколько переменных из разных таблиц?

Как обычно - джойнить в селекте. И перестать использовать термин "переменные" вместо полей.
...
Рейтинг: 0 / 0
Запрос на запись с переменной из другой таблицы
    #40095857
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Demanoco
а если несколько переменных из разных таблиц?

Сначала составьте обычный SELECT, который покажет записи в том состоянии, в котором Вы хотите их вставить. А потом, когда сделаете это, добавьте к нему INSERT INTO.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос на запись с переменной из другой таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]