Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL有条件返回历史记录_Sql_Sql Server_Sql Server 2005 - Fatal编程技术网

SQL有条件返回历史记录

SQL有条件返回历史记录,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,我有一张桌子,上面有笔记。它有一堆注释,可以根据系统中的操作自动执行不同的操作 当订单被分配时,它会做一个备注,说明订单已分配给“名称” 当订单重新分配时,它会做一个注释,说明订单已重新分配给“名称” 最初分配订单时,它会将分配给“name”语句的订单抛出到注释中 之后,每当再次分配订单时,它就会抛出重新分配的订单 我的问题是,如果订单是由分配给自己的同一个人放入系统中的,那么它会跳过重新分配的票据的权限,甚至不会说订单是分配给自己的 目前我的情况如下: WHEN LEFT(n.Text,21)

我有一张桌子,上面有笔记。它有一堆注释,可以根据系统中的操作自动执行不同的操作

当订单被分配时,它会做一个备注,说明订单已分配给“名称” 当订单重新分配时,它会做一个注释,说明订单已重新分配给“名称”

最初分配订单时,它会将分配给“name”语句的订单抛出到注释中

之后,每当再次分配订单时,它就会抛出重新分配的订单

我的问题是,如果订单是由分配给自己的同一个人放入系统中的,那么它会跳过重新分配的票据的权限,甚至不会说订单是分配给自己的

目前我的情况如下:

WHEN LEFT(n.Text,21) = 'Order was assigned to'
这基本上只返回第一次分配订单的名称。因为如果有人给自己分配了一个订单,它会跳过这个注释,我需要一个这样做的语句,但是如果没有“order was assigned to”,我需要返回第一个重新分配给注释的订单。这些注释在同一个表中还有一个audit insert timestamp字段。一个订单可以被重新分配很多次,但我只想要第一个,如果没有订单被分配给note

我该怎么做

我知道这是一个糟糕的应用程序设计,但我没有设计它,我不能改变它。我只需要知道如何编写SQL


谢谢

您可以使用当前查询,添加一个具有相同代码和稍微不同where子句的联合查询。左侧将查找重新分配的注释,您将添加NOT EXISTS子句以从第一个查询中排除具有正确注释的订单。

当我添加Where NOT EXISTS LEFTn.Text时,21=“Order was assigned to”它给我一个语法错误?另外,我如何说我希望“订单被重新分配给”只包含最短日期?您需要在exists中有一个查询。i、 e.如果不存在,请从myTable a中选择1,其中id=n.NoteID和LEFTa.Text,21=“Order was assigned to”-注意使用exists查询外部的别名通过某个id连接右侧注释。。