Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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,我有一个子查询,它从一个表中获取项目编号,并在where子句中使用它从主表中获取结果。但是,子查询不会返回正确的结果。以下是查询和示例: ,( select TOP 1[UNITPRCE]FROM [NIMET].[dbo].[SOP10200] where [NIMET].[dbo].[SOP10200].ITEMNMBR=tblJobHold.ITEMNMBR order by [NIMET].[dbo].[SOP10200].ReqShipDate desc ) ITEMNM

我有一个子查询,它从一个表中获取项目编号,并在where子句中使用它从主表中获取结果。但是,子查询不会返回正确的结果。以下是查询和示例:

,(
 select TOP 1[UNITPRCE]FROM [NIMET].[dbo].[SOP10200]
 where [NIMET].[dbo].[SOP10200].ITEMNMBR=tblJobHold.ITEMNMBR 
 order by [NIMET].[dbo].[SOP10200].ReqShipDate desc
 )


ITEMNMBR                        Price
07-0008                         0.48000
20232001                        0.00000
22241457                        0.00000
67181001                        0.00000
LR56230-095                     2.36000
S-AF509                         0.59000
S24A7869A1                      0.00000
这会返回一些结果,但是,当我取一个显示为零的结果并对表运行它时,我会得到一个结果

SELECT TOP 1 [UNITPRCE]FROM [NIMET].[dbo].[SOP10200]
  where ITEMNMBR='20232001'
  order by ReqShipDate desc

UNITPRCE
2.10000
为什么子查询不返回此结果

这是整个问题。它很短

declare @start datetime,
@end datetime

set @start =convert(datetime,'10/13/2014')
set @end =convert(datetime,'10/14/2014')
SELECT  
      tblJobHold.[MANUFACTUREORDER_I]
      ,[HoldQty]
      ,tblJobHold.[ITEMNMBR]
      ,[ITEMDESC]
      ,[OnHoldByName]
      ,[OnHoldDate]
      ,[Problem]
      ,[Cause]
      ,[Resolution]
      ,[Notes]
     ,[ReleasedByName]
      ,[ReleasedDate]
     ,(SELECT TOP 1 [UNITPRCE]FROM [NIMET].[dbo].[SOP10200]
  where ITEMNMBR=tblJobHold.ITEMNMBR
  order by ReqShipDate desc)   
      FROM [NIMETData].[dbo].[tblJobHold]
  WHERE [ReleasedDate] >= @start AND [ReleasedDate] < @end
  and Resolution in ('NOT FOUND', 'SCRAP-NIMET','SCRAP-PIONEEER','SCRAP-PIONEER','SCRAP-CUSTOMER','REWORK')

什么数据类型是[NIMET].[dbo].[SOP10200].ITEMNMBR和tblJobHold.ITEMNMBR这里没有足够的信息,你能发布整个脚本吗?ITEMNMBR=tblJobHold.ITEMNMBR看起来很模糊,从[NIMET].[dbo].[SOP10200]x中选择前1个[UNITPRCE]如何?其中x.ITEMNMBR=tblJobHold.ITEMNMBR按需求日期排序描述无骰子,抱歉。谢谢你的帮助,尽管我在SSRS报告中运行了这个查询,结果是正确的。这是什么意思?
,(SELECT TOP 1 [shipToName]
FROM [NIMET].[dbo].[SOP10200]
where ITEMNMBR=tblJobHold.ITEMNMBR 
order by ReqShipDate desc) as 'Ship To'