SQL语句 - MS-SQL Server / 疑难问题
表
进货日期 货物编码
2010-01-01 001
2010-01-02 002
2010-05-01 001
2010-05-02 004
2010-05-04 001
求SQL语句:查询表中连续3日(或N日,截止日期为当前日期)未进货的货物编码
是查最近3天未进货的,还是存在连续3天未进货的?
最近n天为进货好做 连续n天为进货不好做
楼主说清楚点
看看top
select * from 表 where (进货日期 BETWEEN GETDATE() - 3 AND GETDATE()) and 货物编码='001'
--在查询区间内,连续3天没有进货的货物编码
SQL code:
CREATE TABLE [进货表]
(
[进货日期] DATETIME
,[货物编码] VARCHAR(10)
)
GO
INSERT INTO [进货表] VALUES ('2010-01-01', '001')
INSERT INTO [进货表] VALUES ('2010-01-02', '002')
INSERT INTO [进货表] VALUES ('2010-05-01', '001')
INSERT INTO [进货表] VALUES ('2010-05-02', '004')
INSERT INTO [进货表] VALUES ('2010-05-04', '001')
GO
DECLARE @BeginDate DATETIME
,@EndDate DATETIME
,@Day INT
SET @BeginDate = '2010-05-01'
SET @EndDate = '2010-05-08'
SET @Day = 3 --设置连续天数
;WITH CTE
AS
(
SELECT [进货日期]
,[货物编码]
,ROW_NUMBER() OVER(PARTITION BY [货物编码] ORDER BY [进货日期]) AS px1
from (
SELECT [进货日期]
,[货物编码]
from [进货表]
相关问答:
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
sqlserver2005 建立的数据库,与手持pda传输数据,最近突然出现无法传递数据的问题,pda端提示的错误时outofmemoryexception,但是pda上面的容量没有问题,
sqlserver的日子上的错误如下:
日期 2010-1-25 14:45: ......
求个vb中的sql语句的写法,次sql语句的用法是分页程序
我写的如下:其中A是用来接收每页显示的记录的条数,B是用来接收显示的当前的页面.
sqltext="select top A * from log where id not in(select top ( ......
需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......
有这样一条SQL
Select Get_Costtaxrate(col1), Get_Tcostvalue(col1) from a
其中Get_Costtaxrate、Get_Tcostvalue都是函数,这两个函数里面都是查找一个大表,Get_Tcostvalue还需要调用Get_C ......