Прежде чем я разместил это, я также прочитал this. Но я думал, может быть, моя проблема была несколько иной.SQL Server INSERT новые записи
У меня есть сценарий, где моя таблица структура выглядит следующим образом:
my_table:
my_id | what_I_have | what_I_can_do
у меня нет первичного ключа, так как таблица не является таблицей поиска (ничего фундаментального) , Все, что я хочу, это получить набор значений для my_id
, который основан на определенных значениях для what_I_have
и what_I_can_do
. Как только я получу набор результатов (с my_d
), я хочу вставить новые записи в my_table
для каждого из my_id
в результирующем наборе с дополнительной информацией для других столбцов.
E.g.
01001 | boxes | delivery | (existing)
01002 | boxes | delivery | (existing)
01001 | boxes | unpacking | (new)
01002 | boxes | unpacking | (new)
Я думал о выполнении следующих действий:
INSERT INTO my_table(my_id, what_I_have, what_I_can_do, my_customer_company)
SELECT
my_id, 'boxes', 'unpacking'
FROM
my_table (NOLOCK)
WHERE
my_id IN (SELECT b.my_id FROM my_table b(NOLOCK)
WHERE b.what_I_have = 'boxes'
AND b.what_I_can_do = 'delivery')
Я знаю, что там может быть способ использовать INNER JOIN
и получить это сделано плавно, без «вложенности». Но будет ли это работать, или я что-то пропустил?
KR,
«У меня нет первичного ключа, так как таблица является таблица поиска» - это логика имеет недостатки. –
Не знаете, почему требуется соединение? – JBond
просто поместите свой дополнительный запрос где предложение в другом запросе, где статья – sagi