create table NEED --用料需求表
創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元天全做網(wǎng)站,已為上家服務(wù),為天全各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
(
goodsno VARCHAR2(100),
prono VARCHAR2(100),
needqty NUMBER,
needbatch NUMBER
);
create table REQ --備料申請(qǐng)表
(
goodsno VARCHAR2(100),
prono VARCHAR2(100),
reqqty NUMBER
);
with t as
(select a.needbatch,
a.prono,
a.goodsno,
a.needqty,
b.reqqty - sum(a.needqty) over(order by a.prono, a.goodsno, a.needbatch) diffqty
from need a,
req b
where a.goodsno = b.goodsno
and a.prono = b.prono)
select t.needbatch,
t.prono,
t.goodsno,
t.needqty,
case
when t.diffqty = 0 then
t.needqty
else
case
when t.needqty + t.diffqty 0 then
t.needqty + t.diffqty
else
end
end qty
from t
弄個(gè)字符串變量,設(shè)個(gè)游標(biāo),用括號(hào)里那一串;
然后遍歷表名,每找到一個(gè)表名,就在字符串變量里拼上一段:=
'select
*
from
'||table_name||';',
然后用execute
immediate執(zhí)行;
然后讀下一個(gè)表名,直至遍歷完畢。
大致就是這么個(gè)意思。
1、先查詢(xún)本庫(kù)的所有表,測(cè)試sql,select * from user_tables t where table_name like 'TEST%';可以看到有多張表;
2、查詢(xún)一共有幾張數(shù)據(jù)表,
select count(*) from user_tables t where table_name like 'TEST%';
3、編寫(xiě)腳本,查詢(xún)TEST開(kāi)頭表,每個(gè)表的記錄數(shù),
declare
v_sql varchar2(200);
v_cnt number(10);
begin
for v_tab in (select table_name from user_tables t where table_name like 'TEST%') loop
v_sql := 'select count(*) from '|| v_tab.table_name;
execute immediate v_sql into v_cnt;
dbms_output.put_line(v_tab.table_name||':'||v_cnt);
end loop;
end;
4、執(zhí)行該sql,在輸出窗口,可以看到每個(gè)表的輸出結(jié)果,
TEST_A:4
TEST_CERTNO:6
TEST_CLASS:4
TEST_COL_1:20
TEST_COL_2:100
TEST_CONNECT:4
TEST_DATE:0
TEST_DATE_1:199
TEST_DATE_2:99
TEST_JOB:6
TEST_LOCK:2
TEST_LOG:999
TEST_MID:328
TEST_SALESSTATISTICS:9999
TEST_STUDENT:6
TEST_SUBSTR:4
TEST_UPDATE:3
TEST_UP_A:6
TEST_UP_B:3
TEST_UP_LIKE:6
按就診號(hào)算 還算合理點(diǎn)
select a.診斷名稱(chēng),count(distinct a.就診號(hào)),sum(b.總費(fèi)用),round(sum(b.總費(fèi)用)/count(distinct a.就診號(hào)),2) from a left join b on a.就診號(hào)=b.就診號(hào) where b.費(fèi)用金額 0
可以通過(guò)district來(lái)取出字段,之后通過(guò)count計(jì)算總數(shù)量。
sql:select count(district id) from tablename;
如果id字段沒(méi)有空值的話,可以通過(guò)count統(tǒng)計(jì)字段的總數(shù)量(字段內(nèi)容可能重復(fù))。
sql:select count(id) from tablename;
在oracle10g中統(tǒng)計(jì)所有表的數(shù)據(jù)量可以使用如下語(yǔ)句:
select sum(NUM_ROWS) from dba_tables where owner like 'SCHEMA';
說(shuō)明一下,以上語(yǔ)句必須用dba賬戶(hù)登錄才可以使用,其中的SCHEMA參數(shù)就是當(dāng)前用戶(hù)名。
chema為數(shù)據(jù)庫(kù)對(duì)象的集合,為了區(qū)分各個(gè)集合,我們需要給這個(gè)集合起個(gè)名字,這些名字就是我們?cè)谄髽I(yè)管理器的方案下看到的許多類(lèi)似用戶(hù)名的節(jié)點(diǎn),這些類(lèi)似用戶(hù)名的節(jié)點(diǎn)其實(shí)就是一個(gè)schema,schema里面包含了各種對(duì)象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。
一個(gè)用戶(hù)一般對(duì)應(yīng)一個(gè)schema,該用戶(hù)的schema名等于用戶(hù)名,并作為該用戶(hù)缺省schema。這也就是我們?cè)谄髽I(yè)管理器的方案下看到schema名都為數(shù)據(jù)庫(kù)用戶(hù)名的原因。
最簡(jiǎn)單的理解:以你計(jì)算機(jī)的用戶(hù)為例,如果你的計(jì)算機(jī)有3個(gè)用戶(hù),那么每個(gè)用戶(hù)登錄系統(tǒng)看到的(使用的)功能是可以不相同的!
分享標(biāo)題:oracle怎么算數(shù)量,oracle計(jì)算金額總和
標(biāo)題路徑:http://muchs.cn/article4/hcisie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、企業(yè)建站、定制開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站、定制網(wǎng)站、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)