我有2个表,“ test”和“ test_2”
第一个表为“ test”,列为“ TagID”和“ MachineID” 在这里,我建立了“ TagID”和“ MachineID”之间的链接
TagID | MachineID
1332 | 13
1544 | 86
1789 | 75
第二张表是“ test_2”,列为“ TagID”,“ MachineID”和“ Value” 在此表中,我将数据记录到“ TagID”和“值”列中
TagID | MachineID | Value
1789 | NULL | 35
1332 | NULL | 41
1544 | NULL | 50
当我将数据连续记录到“ test_2”中时,是否可以使用表“ test”中的相应TagID自动填充表“ test_2”中的“ MachineID”列?
我可以用命令来做
ALTER TABLE test_2
ALTER MachineID AS (CASE WHEN TagID = 1332 THEN 13 WHEN TagID
= 1544 THEN 75.....END)
但是我有899个不同的TagID,所以这将花费很多时间。
答案 0 :(得分:0)
您不需要这样做。只需记录标签和值。然后,当您需要查看数据时,将SELECT
与INNER JOIN
结合使用,从test_2进行联接,以使用tagID作为公共字段进行测试。然后,您可以在需要查看结果时将MachineID包含在结果中。
例如
SELECT
test_2.TagID, test.MachineID, test_2.Value
FROM test_2
INNER JOIN test_2.TagID ON test.tagID
在两个表中复制数据没有意义-实际上,这样做违反了关系数据库的关键概念之一。