SQL查询的时候有多个满足的条件我只想返回第一个结果就行,该怎么改???

Selectu2.fnumberas仓库代码,u2.FNameas仓库名称,ti.fnumberas物料代码,ti.FNameas物料名称,ti.FModelas型号,u... Select u2.fnumber as 仓库代码,u2.FName as 仓库名称,ti.fnumber as 物料代码 ,ti.FName as 物料名称 ,ti.FModel as 型号,u1.FBatchNo as 批号,
tm.FName as 基本单位,cast(u1.FQty as numeric(18,0)) as 基本单位数量,convert(nvarchar,t1.FDate,111) as 制单日期,
convert(nvarchar,t1.FcheckDate,111) as 入库日期,convert(varchar(10),getdate(),120)-convert(nvarchar,t1.FcheckDate,111))as 账龄
from icinventory u1,t_ICItem ti,t_MeasureUnit tm,t_Stock u2,ICStockBill t1,ICStockBillentry t2
where tm.FItemID=ti.funitid and t1.FInterID=t2.FInterID and u1.FStockID=u2.FItemID and u1.FItemID=ti.FItemID
and u1.FQty>0
and u1.FBatchNo is not null
and u1.FBatchNo<>''and u1.FBatchNo<> 'KB' and u1.FBatchNo<> '*'
and t1.FTranType=2
and t2.FBatchNo=u1.FBatchNo
and getdate()-convert(nvarchar,t1.FcheckDate,111)>15
convert(varchar(10),getdate(),120)-convert(nvarchar,t1.FcheckDate,111))as 账龄

里面这个语句帮忙修正一下,提示错误。。
我要的是u1.FBatchNo这个到t2表里面查找返回第一条记录
展开
 我来答
micro0369
2012-07-25 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4077万
展开全部
用 top 1来返回一行,

datediff(day,t1.FcheckDate, getdate())as 账龄 来进行日期相减

Select top 1 u2.fnumber as 仓库代码,u2.FName as 仓库名称,ti.fnumber as 物料代码 ,ti.FName as 物料名称 ,ti.FModel as 型号,u1.FBatchNo as 批号,
tm.FName as 基本单位,cast(u1.FQty as numeric(18,0)) as 基本单位数量,convert(nvarchar,t1.FDate,111) as 制单日期,
convert(nvarchar,t1.FcheckDate,111) as 入库日期,
datediff(day,t1.FcheckDate, getdate())as 账龄
from icinventory u1,t_ICItem ti,t_MeasureUnit tm,t_Stock u2,ICStockBill t1,ICStockBillentry t2
where tm.FItemID=ti.funitid and t1.FInterID=t2.FInterID and u1.FStockID=u2.FItemID and u1.FItemID=ti.FItemID
and u1.FQty>0
and u1.FBatchNo is not null
and u1.FBatchNo<>''and u1.FBatchNo<> 'KB' and u1.FBatchNo<> '*'
and t1.FTranType=2
and t2.FBatchNo=u1.FBatchNo
and getdate()-convert(nvarchar,t1.FcheckDate,111)>15
追问
不行,提示在关键字 'top' 附近有语法错误。
kayfly
2012-07-25 · TA获得超过132个赞
知道小有建树答主
回答量:335
采纳率:0%
帮助的人:144万
展开全部
你是用的什么数据库.如果是ms sql server的话就是top 1,如果是mysql milit 0,1
追问
用的是ms sql ,
Select u2.fnumber as 仓库代码,u2.FName as 仓库名称,ti.fnumber as 物料代码 ,ti.FName as 物料名称 ,ti.FModel as 型号,top 1 u1.FBatchNo as 批号,
就是提示TOP旁边又错误
追答
select top 1, u2...........
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
li136960366
2012-07-25 · TA获得超过451个赞
知道小有建树答主
回答量:234
采纳率:0%
帮助的人:226万
展开全部
在后面加上 and rownum=1 就可以了
更多追问追答
追问
不行  提示这个列明无效
追答
oracle肯定是好使的 你用哪个数据库?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小873
2012-07-25
知道答主
回答量:44
采纳率:0%
帮助的人:19.6万
展开全部
select top 1 u2.fn..........
更多追问追答
追问
把这一句放在什么位置呢?
追答
就把top 1放在 u2.fnumber as 仓库代码,u2.FName前面就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式