Есть ли способ сделать несколько вставок в одну таблицу, используя условие? - PullRequest
1 голос
/ 30 января 2010

Есть ли способ сделать несколько вставок в одну таблицу, используя условие?

У меня есть список подписчиков в tbl_subscribeers. У меня есть обновленная информация о productX, поэтому я хотел бы, чтобы все, кто подписан на productX, получили уведомление. Таблица уведомлений пользователя: id PK, user_id, notification_id. Два значения, которые мне нужны, это product_id (productX), который позволяет мне найти список подписчиков в tbl_subscribeers и Notification_id для вставки в таблицу user_notification.

Как я могу сделать эту вставку, используя один запрос? Я вижу, что вы можете сделать оператор выбора в sqlite http://www.sqlite.org/lang_insert.html, но я не могу обернуться, как я могу это сделать, и не видел пример.

Ответы [ 2 ]

2 голосов
/ 30 января 2010

Я полагаю, что вы смотрите на INSERT SELECT, как показано здесь:

http://www.1keydata.com/sql/sqlinsert.html

Второй тип INSERT INTO позволяет нам вставить несколько строк в Таблица. В отличие от предыдущего примера, где мы вставляем одну строку указав его значения для всех столбцов, Теперь мы используем оператор SELECT для указать данные, которые мы хотим вставить в таблицу. Если ты думая, означает ли это, что вы используете информацию из другого стол, ты прав. Синтаксис следующим образом:

INSERT INTO "table1" ("column1", "column2", ...) 
SELECT "column3", "column4", ... FROM "table2"
1 голос
/ 30 января 2010
insert into user_notification(user_id, notification_id)
select s.user_id, @notification_id 
from tbl_subscriber s 
where s.product_id = @productX
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...