全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1094
推到 Plurk!
推到 Facebook!

在SQL语句里能进行+-运算吗?

答題得分者是:cashxin2002
blade
一般會員


發表:9
回覆:5
積分:7
註冊:2004-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-07 13:39:25 IP:222.209.xxx.xxx 未訂閱
我的仓库管理系统要一个安全库存报警的功能,通过这个功能我能看到有哪些备件已经低于安全库存需要采购 数据结构如下:(我只写下和问题运算有关的字段) 备件表(备件材料基本信息):备件编码、名称、安全库存(设置安全库存量) 结存表:备件编码、期初数量、期末数量、会计期间(所属会计月份) 出库表:备件编码、出库数量、会计期间(出库所属会计月份) 入库表:备件编码、入库数量、会计期间(入库所属会计月份) 在每个月盘点完成后就会有一个过帐的操作,将会计期间过度到下一个月,这个时候就会把盘点数据(即上月结存)转到下月期初。 所以你只能在结存表看到本月的期初数量。要想知道当前的结存数量就有一个:当前实时库存=本月期初数量 本月已入库-本月已出库 然后在和安全库存比较看有没有低于安全量。 问题是我能用一个查询把:备件编码、名称、安全库存、当前库存(关键所在)查出来吗?因为涉及到结存表、出库表、入库表3个表 还要有一个加减(当前实时库存=本月期初数量 本月已入库-本月已出库)的过程。如果能进行 -运算的话,在SQL语句里该怎么写呢?
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-07 14:07:06 IP:210.64.xxx.xxx 未訂閱
你好 sql裡面可以做加減啊,就直接用 - 就可以啦!!如果是數字他會做數字的運算!!如果是字串的話,在mssql裡面會做累加字串的動作,在oracle裡面就要用||才可以!! Pillar Wang
------
Pillar Wang
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-07 16:37:17 IP:202.62.xxx.xxx 未訂閱
您好﹗    不同資料表中資料的計算語法﹐在欄位名稱前引用資料表名稱﹐然后在From中注明引用的資料表名稱即可﹐當然﹐其中還需要設定資料表之間的關聯欄位﹐範例如下﹕ Select 資料表1.欄位1, 資料表2.欄位2, (資料表3.欄位3-資料表2.欄位3-資料表1.欄位3) As 新欄位名 From 資料表1, 資料表2, 資料表3 資料表1.欄位1=資料表2.欄位1 and 資料表2.欄位2=資料表3.欄位2 以上的語法也可用資料表別名來簡化﹐如下﹕ Select A.欄位1, B.欄位2, (C.欄位3-B.欄位3-A.欄位3) As 新欄位名 From 資料表1 A, 資料表2 B, 資料表3 C Where A.欄位1=B.欄位1 and B.欄位2=C.欄位2 還有一個簡化語法的原則﹐就是如果某欄位名稱在引用的所有資料表皆是唯一的﹐就是說所有的資料表中此欄位名稱只存在于一個資料表中﹐即可省略其引用的資料表名稱﹐如下﹕ Select 欄位名1, 欄位名2 From 資料表1, 資料表2 Where 資料表1.欄位1=資料表2.欄位1 以上的語法中﹐欄位名1和欄位名2在所有的資料表中只為唯一欄位名﹐所以其可省略引用的資料表名稱    供參考﹗    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
blade
一般會員


發表:9
回覆:5
積分:7
註冊:2004-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-07 16:41:30 IP:222.209.xxx.xxx 未訂閱
搞定了。哈哈。我还以为很复杂呢!谢谢两位!:)
系統時間:2024-05-06 2:29:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!