在SQL server中自动更新表的列
我有两个问题,第一个是返回代码,最后一个是价格在SQL server中自动更新表的列,sql,sql-server,Sql,Sql Server,我有两个问题,第一个是返回代码,最后一个是价格 SELECT s.art_code AS CODE ,max(s.DocD_PUHTB) AS PRIX ,max(s.Docd_date) AS DATE FROM documentd s INNER JOIN ( SELECT s2.art_code ,MAX(s2.Docd_date) AS MaxDate FROM documentd s2 GROUP BY s2.art_code
SELECT s.art_code AS CODE
,max(s.DocD_PUHTB) AS PRIX
,max(s.Docd_date) AS DATE
FROM documentd s
INNER JOIN (
SELECT s2.art_code
,MAX(s2.Docd_date) AS MaxDate
FROM documentd s2
GROUP BY s2.art_code
) md ON s.art_code = md.art_code
AND s.Docd_date = md.MaxDate
AND s.doc_num LIKE '%bla%'
WHERE s.docd_date >= '2019-01-01'
GROUP BY s.art_code
ORDER BY s.Art_Code
第二个查询使用第一个查询的结果更新另一个表
UPDATE art
SET art_pv = (
CASE
WHEN art_code = '000022215163'
THEN 3.608
WHEN art_code = '0013123'
THEN 5.932
WHEN art_code = '082005'
THEN 2.929
WHEN art_code = '10001862'
THEN 0.663
END
)
我的问题是,第二个查询更新查询如何从第一个查询动态选择查询中获取结果代码和价格,并每小时自动执行此操作?对于问题一:
使用此查询==>
SELECT s.art_code as CODE, max(s.DocD_PUHTB)as PRIX, max(s.Docd_date) as DATE
FROM documentd s
Where s.doc_num like '%bla%' and s.docd_date >= '2019-01-01'
GROUP BY s.art_code
关于问题二:
在t1中插入,并由on使用:
SELECT s.art_code as CODE, max(s.DocD_PUHTB)as PRIX, max(s.Docd_date) as DATE ,CASE
WHEN art_code = '000022215163'
THEN 3.608
WHEN art_code = '0013123'
THEN 5.932
WHEN art_code = '082005'
THEN 2.929
WHEN art_code = '10001862'
THEN 0.663
END
) as NewCol
Into #t1
FROM documentd s
Where s.doc_num like '%bla%'
GROUP BY s.art_code
Update documentd
Set art_pv = #t1.NewCol
From #t1
我已经跟踪了到您的rextester的链接,但是列和数据不太匹配。我做了一个测试 我想你的意思是:
update art
set art_pv = n.prix
from art a,
(SELECT s.art_code AS art_code
,max(s.DocD_PUHTB) AS PRIX
,max(s.Docd_date) AS DATE
FROM documentd s
INNER JOIN (
SELECT s2.art_code as art_code
,MAX(s2.Docd_date) AS MaxDate
FROM documentd s2
GROUP BY s2.art_code
) md ON s.art_code = md.art_code
AND s.Docd_date = md.MaxDate
AND s.doc_num LIKE '%bla%'
WHERE s.docd_date >= '2019-01-01'
GROUP BY s.art_code) n
where n.art_code = a.art_code;
若要按计划运行此查询,您可以。SQL Server代理作业将非常有用,如果您不使用Express编辑谢谢您的帮助,但第二个查询如何从First query DynamicCallyUpdate获取代码和价格可以有一个from子句,from子句可以完全是一个子查询,在这种情况下,哪一个应该是第一个查询。select查询返回许多记录我如何从何处执行该操作?我尝试了此查询,但没有结果,请帮助我向您提问,先生,如果您能帮助我了解更多我如何在sql server中每小时自动运行此查询?我已更新此问题以回答每小时运行的问题。