① 怎樣用 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')
請試一試,如有疑問,及時溝通!