В хранимой процедуре, как вставлять записи по месяцам и годам, проверяя таблицу назначения?

Я делаю INSERT-SELECT . Получили две таблицы:

DATE        Value
1/23/2013   x
2/12/2013   y
3/15/2013   z

МЕСТО НАЗНАЧЕНИЯ:

DATE        Value
1/13/2013   xx
3/20/2013   xx
3/12/2014   xx

Март 2013 существует, поэтому я хочу только вставить записи Jan и Feb.

0
nl ja de

1 ответы

В зависимости от того, как вы получаете данные, что-то в соответствии с тем, что ниже, будет работать. предложение WHERE - это то, что важно

INSERT INTO destination (date, value)
SELECT date, value
FROM currenttable
WHERE CAST(month(dpartdate) AS VARCHAR)+'/'+CAST(year(dpartdate) AS VARCHAR) NOT IN (
  SELECT CAST(month(dpartdate) AS VARCHAR)+'/'+CAST(year(dpartdate) AS VARCHAR)
  FROM destination)
1
добавлено
Как вы сравниваете месяц и год?
добавлено автор Kyle, источник
Datetime. Это не работает: SELECT Месяц (дата) + '' + Год (дата) FROM destination . Он возвращает только год.
добавлено автор Kyle, источник
Я думаю, что вы имели в виду для вашего подзапроса использовать таблицу destination вместо currenttable ?
добавлено автор RBarryYoung, источник
@KKKKKKKK: используете ли вы тип данных datetime или timestamp для столбца? Я обновил свой ответ, чтобы надеяться на решение вашей проблемы.
добавлено автор Matt Busche, источник
@RBarryYoung да, ты прав
добавлено автор Matt Busche, источник
Похоже, вам нужно CAST указать даты, поэтому они не добавляют два значения вместе. Я обновил свой ответ.
добавлено автор Matt Busche, источник
SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)