SQL自动根据不同表格中的值设置值

时间:2017-08-01 13:53:17

标签: sql sql-server

标题可能没那么有用,但我想要做的就是这个。

为了简单起见,我有两个表,一个称为日志,另一个称为日志控件

在我拥有的LOGS和日志事件列中,这将由导入的信息自动填充。在LOG CONTROLS上,我有一个手动输入的Log事件列表(以匹配进入的事件),我有这个表,让他们分配ID号和有关事件的其他详细信息。

我需要做的是在LOGS表中有一个列,它查看Log事件,将它与LOG CONTROLS表中的ID匹配,并将ID分配到LOGS表中。

我已经看到了一些根据其他表中的信息更改列中信息的方法,但所有这些方法似乎都是单向检查,即ID = X是否更改为VALUE FROM OTHER TABLE我需要的是{ {1}} FROM OTHER TABLE

下面是表格的模拟。

IF VALUE = X FROM OTHER TABLE CHANGE ID FIELD TO = Y

所以我需要第一个表中的Control ID来匹配第二个表中的控件ID,具体取决于事件的内容。

我希望这是有道理的。

非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:2)

从您的描述中,您似乎只需要一个简单的UPDATE语句:

update logs
set control_id = c.control_id
from log_controls as c
where c.event = logs.event;