将 SQL 结果写回 Table 列
Write SQL Result back to a Table Column
我有以下查询:
-- Calculate Clock Position & Structural Grade
SELECT IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) AS clock_pos_calc,
IIF(clock_pos_calc = 1, 3,
IIF(clock_pos_calc = 2, 4,
IIF(clock_pos_calc > 3, 5, NULL))) AS clock_pos_value
FROM Conditions;
我想将这些查询的结果添加回条件 table 到以下已经存在的字段。
WRITE clock_pos_calc TO clock_pos
WRITE clock_pos_value TO structural_grade if NULL
但不确定如何。我已经尝试了 UPDATE 和 INSERTS,但无法正常播放。
您可以使用 INSERT INTO .. SELECT FROM
构造来达到此目的,例如
INSERT INTO Conditions (clock_pos, structural_grade)
SELECT IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) AS clock_pos_calc,
IIF(clock_pos_calc = 1, 3,
IIF(clock_pos_calc = 2, 4,
IIF(clock_pos_calc > 3, 5, NULL))) AS clock_pos_value
FROM Conditions
WHERE clock_pos IS NULL
OR structural_grade IS NULL;
查询更新语句
update Conditions
set clock_pos = IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from),
structural_grade = IIF(IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) = 1, 3,
IIF(IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) = 2, 4,
IIF(IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) > 3, 5, NULL)))
WHERE clock_pos IS NULL OR structural_grade IS NULL;
我有以下查询:
-- Calculate Clock Position & Structural Grade
SELECT IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) AS clock_pos_calc,
IIF(clock_pos_calc = 1, 3,
IIF(clock_pos_calc = 2, 4,
IIF(clock_pos_calc > 3, 5, NULL))) AS clock_pos_value
FROM Conditions;
我想将这些查询的结果添加回条件 table 到以下已经存在的字段。
WRITE clock_pos_calc TO clock_pos
WRITE clock_pos_value TO structural_grade if NULL
但不确定如何。我已经尝试了 UPDATE 和 INSERTS,但无法正常播放。
您可以使用 INSERT INTO .. SELECT FROM
构造来达到此目的,例如
INSERT INTO Conditions (clock_pos, structural_grade)
SELECT IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) AS clock_pos_calc,
IIF(clock_pos_calc = 1, 3,
IIF(clock_pos_calc = 2, 4,
IIF(clock_pos_calc > 3, 5, NULL))) AS clock_pos_value
FROM Conditions
WHERE clock_pos IS NULL
OR structural_grade IS NULL;
查询更新语句
update Conditions
set clock_pos = IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from),
structural_grade = IIF(IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) = 1, 3,
IIF(IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) = 2, 4,
IIF(IIF(clock_to - clock_at_from < 0,
12 - (clock_at_from - clock_to),
clock_to - clock_at_from) > 3, 5, NULL)))
WHERE clock_pos IS NULL OR structural_grade IS NULL;