① 怎样用 sql 语句,查询库存
IF EXISTS (select name from sysobjects
where type = 'V' and name = '商品出库')
DROP VIEW 商品出库
GO
CREATE VIEW 商品出库'AS
select 商品, 入库-出库 as '库存'
from(select 商品,sum(入库数量) as '入库'
from 商品入库表 group by 商品) tmp_tblrk
left join (select 商品,sum(入库数量) as '入库'
from 商品入库表 group by 商品) tmp_tblck on tmp_tblrk.商品=tmp_tblck.商品
GO
建立该试图之后 你就可以直接
Select * from 商品出库
就能看到你要的数据。对于Sql你自己再调一下就OK。
② sql多表联查语句怎么写 最好能举例说明 有哪些方法可以实现,我这个小虾米不懂,希望各位大虾能给予指导
你要说下你的表跟要查询数据的相关的几个关键字段。比如:
商品表:商品编号、商品名称
消费流水:商品编号、消费金额、扣款账户
财务:账户编号、余额
多表查询的样子大概是这样的:
select 字段1,字段2... from 表1 [left|right] join 表2 on 表1.关联字段=表2.关联字段 where
left join 表示取左边表所有满足条件的记录,不管表2是否有对应的记录,right相反。忽略则只返回两个表都有对应记录的那些记录。连接多个表可以加多个 JOIN 子句,在 where 之前插入即可。
你这是要查询单个商品的消费总计呢,还是查询流水并显示每次消费后的余额。前者跟余额好像没什么直接关系(还是我理解错误了?),后者可不是一两句能解决的。
③ sql 如何查询只出现一次的数据
SELECT *
FROM 表A A
WHERE EXISTS (SELECT COUNT(*)
FROM 表A B
WHERE A.C = B.C
AND A.D = B.D
GROUP BY C, D
HAVING COUNT(*) = 1)
④ 用sql语句进行多表连接查询出现重复数据
1、在电脑上打开要去掉重复数据的数据库,这里新建一张含有重复数据的user表。
⑤ 用SQL查询表是否存在某一个记录,比如流水号为001的记录是否存在
Update 库存表 set库存出数量=RK.数量,库存余额=库存表. 库存余额-RK.数量from RK where RK. 商品代号=库存表. 商品代号and exists(select * from 库存表 where 商品代号= RK. 商品代号)
go
Insert into库存表(商品代号,库存入数量 ,库存余额) select商品代号,数量, 数量from
RK where库存表. 商品代号=RK.商品代号
go
这是我的一个考试题,就是把入库信息更新到库存里和你的题目原理一样。
⑥ sqlserver如何找出第一次出现的记录
selecta.*from表名a,
(selectarticleID,min(examinDate)examinDatefrom表名groupbyarticleID)b
wherea.articleID=b.articleIDanda.examinDate=b.examinDate
表名自己替换
⑦ sql两个表多列联合查询
createtable[流水表]
([姓名]nvarchar(30),
[班级]nvarchar(30),
[备注]nvarchar(30))
createtable[课程代码表]
([姓名]nvarchar(30),
[一班]int,[二班]int,[三班]int)
insertinto[流水表]values('张三','二班','备注1'),
('李四','三班','备注2'),
('王五','二班','备注3'),
('赵六','一班','备注4'),
('张三','一班','备注5')
insertinto[课程代码表]values('张三',1,2,3),
('李四',4,5,6),
('王五',7,8,9),
('赵六',1,2,3)
go
---1行列转换
/*
SELECT[姓名],[班级],[课程代码]
from[课程代码表]
unpivot([课程代码]for[班级]in([一班],[二班],[三班]))astest
go
*/
---2左连接
selecta.[姓名],b.[课程代码],a.[班级],a.[备注]from[流水表]asa
leftjoin(
SELECT[姓名],[课程代码],[班级]
from[课程代码表]
unpivot([课程代码]for[班级]in([一班],[二班],[三班]))astest
)asbona.[姓名]=b.[姓名]
anda.[班级]=b.[班级]
go
droptable[流水表]
droptable[课程代码表]
⑧ SQL查询问题
select a.卡类型,
sum(case when 储值标志='充值' then 储值金额 else 0) as 充值,
sum(case when 储值标志='发卡' then 储值金额 else 0) as 发卡,
sum(储值金额) as 储值总金额
from 会员表 as a
join 流水表 as b
on a.卡号=b.卡号
group by a.卡类型
⑨ sqlserver中如何查询出连续日期记录的代码
你这个需要借助一个流水表,然后通过指定日期对流水表,进行数据叠加操作,
类似流水日期生成方法
---生成4月份所有的天数
selectdateadd(day,number,'2018-4-1')asdfrommaster..spt_values
wheretype='p'
andnumber>=0
anddateadd(day,number,'2018-4-1')between'2018-4-1'anddateadd(day,-1,'2018-5-1')
请试一试,如有疑问,及时沟通!