«Ввод запроса должен содержать хотя бы одну таблицу или запрос» Ошибка при добавлении оператора «INSERT INTO» - PullRequest
0 голосов
/ 25 мая 2018

Expr1 находит наибольшее число в строке, и я хочу сохранить его в поле «max num».

SELECT [impact test].num1, [impact test].num2, [impact test].num3, [impact test].[max num], 

IIf([num1]>[num2] And [num1]>[num3],[num1],
   IIf([num2]>[num1] And [num2]>[num3],[num2],
      IIf([num3]>[num1] And [num3]>[num2],[num3],"Error"))) AS Expr1, 

INSERT INTO [impact test] ([max num]) VALUES (Expr1) 

FROM [impact test];

«Ввод запроса должен содержать хотя бы одну таблицу или запрос»: ошибка выделяет «(» в начале объявления столбцов для хранения значений. Я пробовал это несколькими различными способами, например,

INSERT INTO [impact test].[max num] VALUES (Expr1)
INSERT INTO [impact test] (max num) VALUES (Expr1)
INSERT INTO [impact test].[max num] ([max num]) VALUES (Expr1)
INSERT INTO [impact test].[max num] (max num) VALUES (Expr1)

Но ни один из них не сработал. Любая помощь очень ценится.

Редактировать для образцов данных и желаемых результатов:

num1   num2   num3   [max num]
 2      5      1         5
 3      4      6         6
 7      3      4         7

Я простоЯ хочу сохранить наибольшее число из каждой строки в поле [max num]. Я попытался найти другие способы сделать это, но все они только max столбцы, а не строки.

1 Ответ

0 голосов
/ 25 мая 2018

Я думаю, вы хотите update и без функций агрегации:

UPDATE [impact test] 
    SET [max num] = IIf([num1] > [num2] And [num1] > [num3], [num1],
                        IIf([num2] > [num1] And [num2] > [num3], [num2],
                            IIf([num3] > [num1] And [num3] > [num2], [num3], "Error")
                           )
                      );

Вы можете упростить логику до:

UPDATE [impact test] 
    SET [max num] = SWITCH([num1] > [num2] And [num1] > [num3], [num1],
                           [num2] > [num3], [num2],
                           [num3]
                          );

Я не думаю, что "Error"ценность помогает чему угодно.Это просто вызывает путаницу типов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...