这个统计怎么写? ( 积分: 100 )

  • 主题发起人 主题发起人 fhp023
  • 开始时间 开始时间
F

fhp023

Unregistered / Unconfirmed
GUEST, unregistred user!
表结构table(id,名称,日期,期初库存,日生产,月生产,年生产,日消耗,月消耗,年消耗)
怎么求出昨日库存和今日库存?高手们请帮忙!
得到如下结果:
名称,今日库存,日生产,月生产,年生产,日消耗,月消耗,年消耗,昨日库存
 
表结构table(id,名称,日期,期初库存,日生产,月生产,年生产,日消耗,月消耗,年消耗)
怎么求出昨日库存和今日库存?高手们请帮忙!
得到如下结果:
名称,今日库存,日生产,月生产,年生产,日消耗,月消耗,年消耗,昨日库存
 
select A.id,A.名称,A.日期,B.期初库存 as 今日库存,A.日生产,
A.月生产,A.年生产,A.日消耗,A.月消耗,A.年消耗,
A.期初库存 as 昨日库存
from Tablename A,TableName B
where A.日期=B.日期-1
 
jack391 你好,Tablename A,TableName B的具体含义是指什么?
说得具体点,好吗?谢谢!
 
把TABLENAME简化为别名a
 
毕常青说得对,A和B是你要查询的表的别名。
 
还是没明白?你可以具体写出来吗?
A和B表他们怎么关联的?
 
A和B表都是你要查询的表,A表的日期=B表的日期-1也就是把今天和明天的数据在一条记录中检索出来,明天的期初库存就是今天的库存,今天的期初库存就是昨日库存了。
 
jack391你的意思就是我要求的,但我就不知道怎么写出来,你帮我写写出来,好吗?
谢谢!
 
不是写好了吗,上面的SQL不行吗?
 
select A.id,A.名称,A.日期,B.期初库存 as 今日库存,A.日生产,
A.月生产,A.年生产,A.日消耗,A.月消耗,A.年消耗,
A.期初库存 as 昨日库存
from Tablename A,TableName B
where A.日期=B.日期-1
中的这段from Tablename A,TableName B
where A.日期=B.日期-1我不知怎么写?
你帮我写出来吧,我写的不对
 
我晕,用你要查询的表名替换上面的TableName啊。
 
理解意思,但具体的语句我写不对
就一个表table(id,名称,日期,期初库存,日生产,月生产,年生产,日消耗,月消耗,年消耗)
即T_rlj(id,mc,t1,qckc,rsc,ysc,nsc,rxh,yxh,nxh),
帮我写出完整的语句吧,谢谢!
 
select A.名称,A.日期,B.期初库存 as 今日库存,A.日生产,
A.月生产,A.年生产,A.日消耗,A.月消耗,A.年消耗,
A.期初库存 as 昨日库存
from 表名 A,表名 B
where A.日期=B.日期-1
--请用你要查询的表的表名替换上面语句中的两处“表名”两字,其他不变。
 
select A.名称,A.日期,B.期初库存 as 今日库存,A.日生产,
A.月生产,A.年生产,A.日消耗,A.月消耗,A.年消耗,
A.期初库存 as 昨日库存
from 表名 A,表名 B
where A.日期=B.日期-1
--请用你要查询的表的表名替换上面语句中的两处“表名”两字,其他不变。
可 A,表 B他们要怎么样关联啊?要什么样的连接起来啊?这样写执行不对啊?
 
怎么可能,字段名对吗?字符用 的是不是英文的?你不要用了中文的“,”?~~~
 
这是我的表的脚本
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tian]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tian]
GO
CREATE TABLE [dbo].[tian] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[mc] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[rsc] [float] NULL ,
[ysc] [float] NULL ,
[nsc] [float] NULL ,
[rxh] [float] NULL ,
[yxh] [float] NULL ,
[nxh] [float] NULL ,
[qch] [float] NULL ,
[t1] [datetime] NULL
) ON [PRIMARY]
GO
这个from table a,table b 他们怎么关联的?
这样写语句通不过?
 
select A.mc,A.t1,B.期初库存 as 今日库存,A.日生产,
A.月生产,A.年生产,A.日消耗,A.月消耗,A.年消耗,
A.期初库存 as 昨日库存
from tian A,tian B
where A.t1=B.t1-1
--其他字段名自己改吧
 
谢谢jack391,
对,已经查出来了
但结果好像不对
得出的是
aa ...........
aa.............
bb............
bb............
而不是我要的结果:
aa .........
bb .............
 
select A.mc,A.t1,Sum(B.期初库存) as 今日库存,sum(A.日生产),
Sum(A.月生产),Sum(A.年生产),Sum(A.日消耗),Sum(A.月消耗),Sum(A.年消耗),
Sum(A.期初库存) as 昨日库存
from tian A,tian B
where A.t1=B.t1-1
Group By A.mc,A.t1
 
后退
顶部