小编Rob*_*ton的帖子

更新表中一列为最大值的列

我正在尝试更新表中一系列约 113000 行中的一列。我有一个表,其中包含有问题的 MRN、遭遇和承认列。我遇到过一个问题,一次遭遇多次进入该表,但 MRNS 不同。我想更新名为“消息”的列,其值为“重复遭遇”,但前提是该遭遇不是最新承认的日期。

例如

Encounter               MRN                     Admitted
000000000497            0000097778              2006-01-04 20:26:00
000000000497            0000092892              2006-03-17 09:51:00
000000000497            0000003023              2008-08-15 09:50:00
000000000719            0000103691              2008-10-16 14:45:00
000000000719            0000048708              2006-05-26 08:04:00
000000000719            0000024123              2006-01-09 15:43:00
000000003390            0000099595              2006-03-13 11:30:00
000000003390            0000079713              2010-04-22 14:40:00
Run Code Online (Sandbox Code Playgroud)

对于上述信息,我想更新第 1 行和第 2 行的消息列,因为第 3 行是遇到 000000000497 的最新接纳日期。第 5 行和第 6 行是 000000000719 的最新接纳日期,因为第 4 行是其最新接纳日期。

我尝试在这里搜索但找不到任何结果。我只是不知道是否需要为此创建一个光标或什么。任何帮助将非常感激。

sql duplicates

3
推荐指数
1
解决办法
3万
查看次数

包含聚合的更新语句在SQL Server中不起作用

我希望有人可以在这里帮助我的语法.我有两个表ansicache..encountersansicache..x_refclaim_Table

encounters表有一encounter列与patacctnumber列中的列匹配x_refclaim_table.

但是,有时patacctnumber可以在x_refclaim_table不同的服务日期(列iar_servicedate)中显示两次.

我想更新encounters表,admitted列的最大值iar_servicedate,其中encounterencounters表= patacctnumberx_refclaim

 update ansicache..ENCOUNTERS 
       set ADMITTED=max(IAR_ServiceDate) 
 from
     (
       ansicache..ENCOUNTERS e (nolock) 
          join 
       ansicache..x_refClaim_table x (nolock)
          on e.ENCOUNTER=x.PatAcctNumber
      )
Run Code Online (Sandbox Code Playgroud)

它仍然失败:

消息157,级别15,状态1,行1聚合可能不会出现在UPDATE语句的集合列表中.

我尝试过做一些其他的事情,比如声明一个ID,却无法让它工作.

sql sql-server aggregate max

3
推荐指数
1
解决办法
6459
查看次数

感叹号在批处理文件中不断被删除

有人请帮忙......哦,我会非常感激的.我有一个非常长的批处理文件,除了每次用户输入输入时,它都会替换所需文件中的字符串但它正在删除文件中的!s,因为它们是XML配置文件而导致问题,这些都被注释掉了需要留下的部分.除非有要求,否则我不会将整个代码放在这里,但是在坚果外壳中,用户进行某些输入,然后运行批处理文件...这里是一个文件代码的一部分....用户输入驱动器安装信和bdi服务器的名称.我希望用户输入替换%驱动器%和%bdi1%....它确实....但我不希望它替换已注释掉的部分...即::

<!-- Tcp message preamble and postamble are flags that mark the beginning and end of an HL7 message. turns into <-- Tcp message preamble and postamble are flags that mark the beginning and end of an HL7 message.
Run Code Online (Sandbox Code Playgroud)

注意没有!

这是我的代码...我需要做什么才能让它停止删除!我试着在这里看,我觉得我在Jeb的答案上很顺利,但我无法让它发挥作用.提前致谢

if exist newfile.txt del newfile.txt
for /F "usebackq delims=" %%a in ("%drive%:\mckesson\%bdi1%\importer.config") do (
set str=%%a
set str=!str:server_name=%server%!
echo !str! >> newfile.txt
)
del importer.config
rename newfile.txt importer.config



if exist newfile.txt del newfile.txt
for /F "usebackq delims=" %%a in …
Run Code Online (Sandbox Code Playgroud)

replace file batch-file find

2
推荐指数
1
解决办法
4466
查看次数

标签 统计

sql ×2

aggregate ×1

batch-file ×1

duplicates ×1

file ×1

find ×1

max ×1

replace ×1

sql-server ×1