Возможно, уже слишком поздно, и поэтому я застрял.Я хочу заполнить базу данных значениями, но только для тех значений, где в базе данных уже существует дата.Структура выглядит следующим образом:
CREATE TABLE dbo.TEST(ID INT IDENTITY(1,1) NOT NULL,date_time datetime)
ALTER TABLE dbo.TEST ADD "column1" FLOAT;
INSERT INTO dbo.TEST(date_time,"column1")
VALUES ('2018-04-01 02:00:00',1),('2018-04-01 06:00:00',2),('2018-04-01 07:00:00',3)
ALTER TABLE dbo.TEST ADD "column2" FLOAT;
, поэтому таблица выглядит следующим образом:
Теперь я хочу заполнить столбец2 для2:00 и 6:00 часов со значениями 20 и 21, но игнорируем значение 25. У меня есть
INSERT INTO dbo.TEST("column2")
SELECT
NewValues."column2"
FROM (
VALUES ('2018-04-01 02:00:00',20),
('2018-04-01 06:00:00',21),
('2019-10-05 20:30:00',25)
) AS NewValues(date_time,"column2")
INNER JOIN dbo.TEST
ON dbo.TEST.date_time = NewValues.date_time
WHERE dbo.TEST.date_time = NewValues.date_time
, но это приводит к
что мне не хватает?