Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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/4/sql-server-2008/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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 server 尝试将结果与以前的结果进行比较_Sql Server_Sql Server 2008_Reporting Services - Fatal编程技术网

Sql server 尝试将结果与以前的结果进行比较

Sql server 尝试将结果与以前的结果进行比较,sql-server,sql-server-2008,reporting-services,Sql Server,Sql Server 2008,Reporting Services,我的任务是编写一份报告,根据订单中的行项目来提取订单。一旦得到正确的结果,我将使用SSRS为最终用户创建报告。基本上我需要做的是查询一个包含销售订单号、行项目、日期等的表。每个订单都有多个行项目。他们想知道订单中是否有一个名为ASR、SERVICE的行项目,或者两者都不在其中 SELECT DISTINCT arcust.loctid, sodate, somast.custno, somast.sono, somast.route,

我的任务是编写一份报告,根据订单中的行项目来提取订单。一旦得到正确的结果,我将使用SSRS为最终用户创建报告。基本上我需要做的是查询一个包含销售订单号、行项目、日期等的表。每个订单都有多个行项目。他们想知道订单中是否有一个名为ASR、SERVICE的行项目,或者两者都不在其中

SELECT DISTINCT 
    arcust.loctid, 
    sodate, 
    somast.custno, 
    somast.sono, 
    somast.route, 
    item
FROM 
    somast
    INNER JOIN arcust ON somast.custno = arcust.custno
    INNER JOIN sotran ON somast.sono = sotran.sono
WHERE 
    sodate = '06-04-2015' AND 
    somast.sostat NOT IN('X','V') AND
    route IN ('220','221')
这是我正在使用的,但它正在拉所有行项目。如果每个订单都有行项目ASR或服务,或者两者都没有,我怎么能只提取一个行项目

以下是该查询的结果:

loctid                sodate    custno      sono  route item
OMAHA   2015-06-04 00:00:00.000 10268      4399062  221 10788          
OMAHA   2015-06-04 00:00:00.000 10268      4399062  221 SALESDEL       
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 10291          
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 10445          
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 10448          
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 10751          
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 21016          
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 21030          
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 23002          
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 66262          
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 ASR            
OMAHA   2015-06-04 00:00:00.000 2513       4399451  221 10329          
OMAHA   2015-06-04 00:00:00.000 2513       4399451  221 10520          
OMAHA   2015-06-04 00:00:00.000 2513       4399451  221 10910          
OMAHA   2015-06-04 00:00:00.000 2513       4399451  221 11010          
OMAHA   2015-06-04 00:00:00.000 2513       4399451  221 21772          
OMAHA   2015-06-04 00:00:00.000 2513       4399451  221 SALESDEL       
OMAHA   2015-06-04 00:00:00.000 514        4399287  221 11437          
OMAHA   2015-06-04 00:00:00.000 514        4399287  221 SERVICE         
OMAHA   2015-06-04 00:00:00.000 8449       4399314  221 30405 
我希望看到它是这样的:

loctid                sodate    custno      sono  route item

OMAHA   2015-06-04 00:00:00.000 10268      4399062  221 SALESDEL         
OMAHA   2015-06-04 00:00:00.000 2298       4399308  221 ASR            
OMAHA   2015-06-04 00:00:00.000 2513       4399451  221 10329          
OMAHA   2015-06-04 00:00:00.000 514        4399287  221 SERVICE           
OMAHA   2015-06-04 00:00:00.000 8449       4399314  221 30405           

我相信你使用了错误的连接类型。看看这个图表。我一直在用这个,非常有用


JamesZ-我只是想让它划出一条有ASR或服务的线,或者如果两者都不在订单中,那么我想知道它们都不在订单中。在您想要的结果中,为什么custno 10268有SALESDEL,而2513有“10329”,而SALESDEL是其中一项?在任何情况下,您都应该能够对CASE WHEN EXISTS()语句执行所需的操作。