Я надеюсь, что вы сможете предложить какие-либо рекомендации или дополнительные ссылки для чтения.
Я использую запрос для вставки новых заказов на покупку из Таблицы 2 в Таблицу 1, используя WHERE NOT EXISTS. Таблица1 имеет поле комментариев. Могу ли я установить поле = «TBC» в момент вставки новой записи?
Любая помощь будет оценена.
Таблица 1
Таблица 2
INSERT INTO Table1
(
PONumber,
PODate
)
SELECT DISTINCT
PurchOrder,
PODate
FROM Table2
WHERE NOT EXISTS (
Select PONumber
From Table1
WHERE Table1.PONumber = Table2.PurchOrder
);
Пожалуйста, не используйте изображения, используйте форматированный текст.
Конечно, вы можете просто вставить букву «TBC» как часть существующей вставки.
Пожалуйста, перечитайте то, что вы набрали ранее (Jul 26, 2022 at 9:25) здесь: stackoverflow.com/questions/73120484/… Вы вводите «сделаем в будущем!» в ответ на «Пожалуйста, не показывайте образец данных в виде изображения». "
@MrJackson нет, проблема, я использовал редактировать, чтобы внести изменения за тебя 😉 (на этот раз...)


Вы можете добавить литерал при вставке, поскольку все строки являются новыми и нуждаются в одном и том же теге.
Ваша команда вставки будет:
INSERT INTO Table1
(
PONumber,
PODate,
POComments
)
SELECT DISTINCT
PurchOrder,
PODate,
'TBC' as POComments
FROM Table2
WHERE NOT EXISTS (
Select PONumber
From Table1
WHERE Table1.PONumber = Table2.PurchOrder
);
Нет причин называть столбец псевдонимом, хотя я выбран
@DaleK — это делает его более самодокументируемым без необходимости подсчитывать столбцы
@MartinSmith, если бы у кого-то было несколько больше трех, возможно :)
@Pradeep Пай Кейтил Что вы подразумеваете под «тегом»?
@JonasMetzler Я считаю, что это подразумеваемое значение. «[...] всем новым строкам требуется одно и то же значение», отсюда и литеральная строка
Спасибо всем за комментарии - я узнал что-то новое. Помечено как принятое
@DaleK - какое минимальное количество столбцов в игре, чтобы вы могли их пометить? Потому что у тебя явно есть мнение.