Добавьте значение по умолчанию в поле при использовании INSERT и NOT EXISTS

Я надеюсь, что вы сможете предложить какие-либо рекомендации или дополнительные ссылки для чтения.

Я использую запрос для вставки новых заказов на покупку из Таблицы 2 в Таблицу 1, используя WHERE NOT EXISTS. Таблица1 имеет поле комментариев. Могу ли я установить поле = «TBC» в момент вставки новой записи?

Любая помощь будет оценена.

Таблица 1

PONumber PODate POКомментарии ПО-123456 05.11.2024 подлежит уточнению

Таблица 2

Заказ на покупку PODate ПО-123456 05.11.2024
INSERT INTO Table1
(
    PONumber,
    PODate
)
SELECT DISTINCT
    PurchOrder,
    PODate
FROM Table2
WHERE NOT EXISTS (
    Select PONumber
    From Table1
    WHERE Table1.PONumber = Table2.PurchOrder
);

Пожалуйста, не используйте изображения, используйте форматированный текст.

Dale K 11.05.2024 09:57

Конечно, вы можете просто вставить букву «TBC» как часть существующей вставки.

Dale K 11.05.2024 09:58

Пожалуйста, перечитайте то, что вы набрали ранее (Jul 26, 2022 at 9:25) здесь: stackoverflow.com/questions/73120484/… Вы вводите «сделаем в будущем!» в ответ на «Пожалуйста, не показывайте образец данных в виде изображения». "

Luuk 11.05.2024 10:55

@MrJackson нет, проблема, я использовал редактировать, чтобы внести изменения за тебя 😉 (на этот раз...)

Luuk 11.05.2024 11:47
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
5
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете добавить литерал при вставке, поскольку все строки являются новыми и нуждаются в одном и том же теге.

Ваша команда вставки будет:

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
);

Нет причин называть столбец псевдонимом, хотя я выбран

Dale K 11.05.2024 10:18

@DaleK — это делает его более самодокументируемым без необходимости подсчитывать столбцы

Martin Smith 11.05.2024 10:27

@MartinSmith, если бы у кого-то было несколько больше трех, возможно :)

Dale K 11.05.2024 10:31

@Pradeep Пай Кейтил Что вы подразумеваете под «тегом»?

Jonas Metzler 11.05.2024 10:46

@JonasMetzler Я считаю, что это подразумеваемое значение. «[...] всем новым строкам требуется одно и то же значение», отсюда и литеральная строка

Ortiga 11.05.2024 11:03

Спасибо всем за комментарии - я узнал что-то новое. Помечено как принятое

Mr Jackson 11.05.2024 11:46

@DaleK - какое минимальное количество столбцов в игре, чтобы вы могли их пометить? Потому что у тебя явно есть мнение.

Ben Thul 11.05.2024 20:02

Другие вопросы по теме