数据库中表结构是这样的 店铺 时间 人数create table tt
(
dbno varchar(50),
time datetime,
up int
)给点数据
insert into tt values('一号店',2010-10-10,123)
insert into tt values('一号店',2010-10-11,234)
insert into tt values('一号店',2010-10-12,245)insert into tt values('二号店',2010-10-10,765)
insert into tt values('二号店',2010-10-11,543)
insert into tt values('二号店',2010-10-12,257)insert into tt values('一号店',2009-10-10,864)
insert into tt values('一号店',2009-10-11,124)
insert into tt values('一号店',2009-10-12,184)insert into tt values('二号店',2009-10-10,356)
insert into tt values('二号店',2009-10-11,845)
insert into tt values('二号店',2009-10-12,274)
给两个时间段让对 这两个时间段的 人数进行详细的比较 显示格式是这样的 店铺 时间1 人数1 时间2 人数2
一号店 2010-10-10 123 2009-10-10 234
一号店 2010-10-11 123 2009-10-11 234
二号店 2010-10-10 234 2009-10-10 345
二号店 2010-10-11 234 2009-10-11 345
三号店 2010-10-10 543 2009-10-10 345
三号店 2010-10-11 543 2009-10-11 345请大侠 帮忙 SQL语句该如何写 ,注意是同月同日不同年 且 要求 格式是上面的格式。
(
dbno varchar(50),
time datetime,
up int
)给点数据
insert into tt values('一号店',2010-10-10,123)
insert into tt values('一号店',2010-10-11,234)
insert into tt values('一号店',2010-10-12,245)insert into tt values('二号店',2010-10-10,765)
insert into tt values('二号店',2010-10-11,543)
insert into tt values('二号店',2010-10-12,257)insert into tt values('一号店',2009-10-10,864)
insert into tt values('一号店',2009-10-11,124)
insert into tt values('一号店',2009-10-12,184)insert into tt values('二号店',2009-10-10,356)
insert into tt values('二号店',2009-10-11,845)
insert into tt values('二号店',2009-10-12,274)
给两个时间段让对 这两个时间段的 人数进行详细的比较 显示格式是这样的 店铺 时间1 人数1 时间2 人数2
一号店 2010-10-10 123 2009-10-10 234
一号店 2010-10-11 123 2009-10-11 234
二号店 2010-10-10 234 2009-10-10 345
二号店 2010-10-11 234 2009-10-11 345
三号店 2010-10-10 543 2009-10-10 345
三号店 2010-10-11 543 2009-10-11 345请大侠 帮忙 SQL语句该如何写 ,注意是同月同日不同年 且 要求 格式是上面的格式。
一号店 2010-10-10 123 2009-10-10 234
一号店 2010-10-11 123 2009-10-11 234
二号店 2010-10-10 234 2009-10-10 345
二号店 2010-10-11 234 2009-10-11 345
三号店 2010-10-10 543 2009-10-10 345
三号店 2010-10-11 543 2009-10-11 345
select dbno,【时间一】=a.time 【人数1】=a.up 【时间二】= b.time 【人数2】=b.up from tt a inner join tt b on a.time>b.time and right(convert(varchar(10),a.time,120),6)=right(convert(varchar(10),b.time,120),6)
from tt a
inner join tt b
on a.time>b.time
and
right(convert(varchar(10),a.time,120),6)=right(convert(varchar(10),b.time,120),6)
create table tt
(
dbno varchar(50),
time datetime,
up int
)
insert into tt values('一号店','2010-10-10',123)
insert into tt values('一号店','2010-10-11',234)
insert into tt values('一号店','2010-10-12',245)
insert into tt values('二号店','2010-10-10',765)
insert into tt values('二号店','2010-10-11',543)
insert into tt values('二号店','2010-10-12',257)
insert into tt values('一号店','2009-10-10',864)
insert into tt values('一号店','2009-10-11',124)
insert into tt values('一号店','2009-10-12',184)
insert into tt values('二号店','2009-10-10',356)
insert into tt values('二号店','2009-10-11',845)
insert into tt values('二号店','2009-10-12',274)
select * from ttselect * from tt a inner join tt b on a.dbno=b.dbno and a.time=dateadd(year,1,b.time)
and substring(convert(nvarchar(20),t1.time),1,5)=substring(convert(nvarchar(20),t2.time),1,5)
and t1.time<t2.time
order by t1.dbno desc