从两个表中添加两列并将结果插入第三个
Add two columns from two tables and insert result into third
SQL不是我的专业领域,还请多多包涵。
我正在使用 Veeam 备份和复制,我需要 运行 备份成功率,不幸的是 Veeam 没有提供。
Veeam 有一个名为“Bjobs”的 SQL table(我知道!)它有“名称”和“Latest_Result”列,其中最新结果 = 0 表示成功。
我创建了一个名为“Bjobs_history”的新 table,其中包含“名称”、“Success_Total”、“Job_Total”和“[=34=”列]”
我的计划是创建一个 SQL 查询,以便在每次作业运行时将“1”添加到“Job_total”列,这一点我认为我可以做到。
然后我只想在作业成功时向“Success_Total”加 1。然后我可以根据这两个结果计算百分比。
因此,如果我每天都有 JobA 和 JobB 运行,持续 5 天,并且 JobA 每天都成功,但 JobB 失败一次,我的 table 将如下所示
Name | Success_Total | Job_total
JobA | 5 | 5
JobB | 4 | 5
由于 Latest_result = 0 成功时,我需要将此结果加 1,然后将其添加到“Success_total”列。
这就是我必须更新 success_total 的方法,它不起作用,有人可以帮忙吗?
select latest_result + 1 as val1
from bjobs join bjob_history
on (bjobs.name = BJob_History.name)
where latest_result = 0
update BJob_History set Success_Total = val1
试试这个:
UPDATE BH
SET BH.Success_Total = BH.Success_Total + B.latest_result + 1
FROM BJob_History AS BH
INNER JOIN bjobs AS B
ON B.name = BH.name
WHERE B.latest_result = 0
@king.code
我刚刚在您的声明中添加了一些内容,现在可以正常使用了,谢谢
UPDATE BH
SET BH.Success_Total = BH.Success_Total + B.latest_result + 1
FROM BJob_History AS BH
INNER JOIN bjobs AS B
ON B.name = BH.name
WHERE B.latest_result = 0
SQL不是我的专业领域,还请多多包涵。
我正在使用 Veeam 备份和复制,我需要 运行 备份成功率,不幸的是 Veeam 没有提供。
Veeam 有一个名为“Bjobs”的 SQL table(我知道!)它有“名称”和“Latest_Result”列,其中最新结果 = 0 表示成功。
我创建了一个名为“Bjobs_history”的新 table,其中包含“名称”、“Success_Total”、“Job_Total”和“[=34=”列]”
我的计划是创建一个 SQL 查询,以便在每次作业运行时将“1”添加到“Job_total”列,这一点我认为我可以做到。
然后我只想在作业成功时向“Success_Total”加 1。然后我可以根据这两个结果计算百分比。
因此,如果我每天都有 JobA 和 JobB 运行,持续 5 天,并且 JobA 每天都成功,但 JobB 失败一次,我的 table 将如下所示
Name | Success_Total | Job_total
JobA | 5 | 5
JobB | 4 | 5
由于 Latest_result = 0 成功时,我需要将此结果加 1,然后将其添加到“Success_total”列。
这就是我必须更新 success_total 的方法,它不起作用,有人可以帮忙吗?
select latest_result + 1 as val1
from bjobs join bjob_history
on (bjobs.name = BJob_History.name)
where latest_result = 0
update BJob_History set Success_Total = val1
试试这个:
UPDATE BH
SET BH.Success_Total = BH.Success_Total + B.latest_result + 1
FROM BJob_History AS BH
INNER JOIN bjobs AS B
ON B.name = BH.name
WHERE B.latest_result = 0
@king.code
我刚刚在您的声明中添加了一些内容,现在可以正常使用了,谢谢
UPDATE BH
SET BH.Success_Total = BH.Success_Total + B.latest_result + 1
FROM BJob_History AS BH
INNER JOIN bjobs AS B
ON B.name = BH.name
WHERE B.latest_result = 0