污网站视频在线观看,亚洲国产婷婷综合在线精品中文,国产精品欧美性在线观看,久久久久久大鸡吧大精品久久久久久

VimIy微民網(wǎng),讓世界傾聽微民的聲音! 設(shè)為首頁 | 加入收藏 | 網(wǎng)站地圖
當(dāng)前位置:主頁 > 惡搞 >

[你們什么都懂系列] 求助數(shù)據(jù)庫語句方面的問題。。。。

整理時間:2012-11-19 01:47 來源:www.99912.com.cn 作者:編輯 點擊:

【樓主】hellopala2012-11-16 14:46
» 有兩個表,暫定名稱為A,B吧A表里儲存的字段有ID和數(shù)量,B表里也是ID和數(shù)量假如A表的數(shù)據(jù)下面這樣:ID NUM1 502 653 704 45B表中的數(shù)據(jù)是這樣ID1 NUM1a 45b 60c 30d 60e 35如何寫語句能完成如下的效果:ID NUM ID1 NUM11 50 a 451 50 b 52 65 b 552 65 c 103 70 c 203 70 d 504 45 d 104 45 e 35就是用B表中的數(shù)量去填充A表的數(shù)量,B表數(shù)量不夠的就借下一行,夠的就再用剩余去填充A表的下一行數(shù)據(jù)
作者:混亂之水2012-11-16 14:54
看起來很復(fù)雜啊,你還是弄個存儲過程吧。
作者:梅友乾2012-11-16 15:08
看了半天樓主的示例沒明白最終目的是什么。感覺像是普通的笛卡爾積?那就直接SELECT A.ID, A.NUM, B.ID AS ID1, B.NUM AS NUM1 FROM A CROSS JOIN B應(yīng)該就行吧?這倆表沒啥關(guān)系,提到連接這事很抽象
作者:hellopala2012-11-16 15:08
建立中間表么?先求出結(jié)果中id1和num1的樣子然后再去和表a對應(yīng)?-------發(fā)自后頭丑(HTC) 7 Mozart T8698上的微民網(wǎng)Brush for WP7
作者:hellopala2012-11-16 15:14
看了半天樓主的示例沒明白最終目的是什么。感覺像是普通的笛卡爾積?那就直接SELECT A.ID, A.NUM, B.ID AS ID1, B.NUM AS NUM1 FROM A CROSS JOIN B應(yīng)該就行吧?這倆表沒啥關(guān)系,提到連接這事很抽象
作者:arale0072012-11-16 15:37
ORACLE 10G以上的寫法--START FOR TEST DATAWITH A AS(SELECT 1 AS ID ,50 AS NUM FROM DUALUNION ALL SELECT 2 AS ID ,65 AS NUM FROM DUALUNION ALLSELECT 3 AS ID ,70 AS NUM FROM DUALUNION ALLSELECT 4 AS ID ,45 AS NUM FROM DUAL),B AS (SELECT 'a' AS ID1,45 AS NUM1 FROM DUALUNION ALLSELECT 'b' AS ID1,60 AS NUM1 FROM DUALUNION ALLSELECT 'c' AS ID1,30 AS NUM1 FROM DUALUNION ALLSELECT 'd' AS ID1,60 AS NUM1 FROM DUALUNION ALLSELECT 'e' AS ID1,35 AS NUM1 FROM DUAL)--END FOR TEST DATASELECT AA.ID,AA.NUM,BB.ID1 ,CASE WHEN AA.NUMM BETWEEN BB.NUMM AND BB.NUMM + BB.NUM1 THEN BB.NUMM + BB.NUM1 - AA.NUMM ELSE AA.NUMM + AA.NUM - BB.NUMM END AS NUM1FROM (SELECT A.ID,A.NUM,NVL(SUM(A.NUM) OVER(ORDER BY A.ID ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING),0) AS NUMM FROM A) AALEFT JOIN (SELECT B.ID1,B.NUM1,NVL(SUM(B.NUM1) OVER(ORDER BY B.ID1 ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING),0) AS NUMM FROM B) BBON AA.NUMM BETWEEN BB.NUMM AND BB.NUMM + BB.NUM1OR AA.NUMM + AA.NUM BETWEEN BB.NUMM AND BB.NUMM + BB.NUM1結(jié)果ID NUM ID1 NUM11 50 a 451 50 b 52 65 b 552 65 c 103 70 c 203 70 d 504 45 d 104 45 e 35其它的數(shù)據(jù)庫寫起來太累,而且效率不保證。
作者:爬墻頭2012-11-16 15:41
有點難度,樓主你還是寫過程或者java做吧即便寫出來這樣的sql,維護的人看到了也會罵的。
作者:爬墻頭2012-11-16 15:45
你這個已經(jīng)涉及到行和行的計算,而且還有順序的事,以我愚鈍的大腦,又想了想,不太好整。
作者:炎殤2012-11-16 15:46
好吧,我看懂了改動
作者:believekurt2012-11-16 15:48
兩個表沒有一個屬性是可以把她們聯(lián)系起來的在弄一個表吧...
作者:thorhero2012-11-16 15:50
終于看懂了,這個東西只可能用存儲過程搞吧,而且我覺得用存儲過程搞也不科學(xué),明顯應(yīng)該程序算了再放到數(shù)據(jù)庫里。5樓那個。。沒通用性吧,樓主只是舉了個例。
作者:hellopala2012-11-16 15:52
Post by arale007 (2012-11-16 15:37) Post by thorhero (2012-11-16 15:50) Post by arale007 (2012-11-16 15:55) 。。。你這一串就只為把LZ那2個表拼合起來?按我理解LZ只是舉了個例子問怎么拼合這一類的兩個表。難到不是?兩表分別處理一下后就可以寫出關(guān)聯(lián)條件,有什么問題?
作者:飛揚的塵埃2012-11-16 17:25
如果把A值作為大循環(huán),B值填充動作作為小循環(huán),那么B值累計需要用到函數(shù)迭代,這個貌似SQL做不了。Declare @MA int, @MB int, @AID int, @A int, @BID nchar(1), @B intDeclare CurA Cursor Read_Only For Select * From ADeclare CurB Cursor Read_Only For Select * From BOpen CurAOpen CurBFetch Next From CurA Into @AID, @AIf @@Fetch_Status = 0 Begin Fetch Next From CurB Into @BID, @BEndSet @MA=0, @MB=0While @@Fetch_Status = 0 Begin -- 標(biāo)簽一 If @A+@MA >= @B+@MB Begin Insert Into dbo.C Values(@AID,@A,@BID,@B) Set @MA=@A-@B, @MB=0 Set @A=0, @B=0 Fetch Next From CurB Into @BID, @B If @@Fetch_Status <> 0 Break --B值已取完 -- 執(zhí)行迭代,即回到標(biāo)簽一處 End Else Begin If @MB>0 Begin Insert Into dbo.C Values(@AID,@A,@BID,@MB) Insert Into dbo.C Values(@AID,@A,@BID,@A-@MB) End Else Begin Insert Into dbo.C Values(@AID,@A,@BID,@A) End Set @MA=0,@MB=@B+@MB-@A Set @A=0, @B=0 End Fetch Next From CurAEndClose CurADeallocate CurAClose CurBDeallocate CurB

關(guān)于網(wǎng)站 | 網(wǎng)站聲明 | 用戶反饋 | 合作伙伴 | 聯(lián)系我們
Copyright © 2012年2月8日
艹逼视频日日日| 久久99国产的精品| 精品人妻少妇后入狠狠草| 亚洲AV无码国产精品午色| 亚洲婷婷天堂偷偷久久| 国产一二三区免费无码| 国产欧美一区在线| 色婷婷精品视频在线观看一区| 偷拍少妇人妻| 西野翔亚洲综合久久| 免费啪的视频| 泸溪县| 天天碰天天日射夺皮批| 精品不卡区| 久久久久久调教| 免费永久看三级网址| 亚洲无码精品A视| 超碰一区二| 女生吃鸡巴的视频| 色情乱婬一区二区三区免费| 后入少妇视频电影| 欧美涩色日韩精品| 欧美 高清 自拍| 亚洲自拍3000| 午夜精品一区在线观看| 婷婷少妇小姐精品| 小鸡巴插入大阴逼在线观看| 亚州色综合成人| 字幕网一区二区三区四区| 骚穴少妇久久| 精久久久久| 国产欧美日韩激情文学图片| 欧美少妇自拍在线观看| 国产射精在线合集| 亚洲综合日韩熟女av| 日本欧美日韩中文字幕| 大香蕉插入桃| 又粗又大又硬又爽又猛又黄的视频 | 日韩亚洲乱码V S欧美| 国产福利无码链接| 久久久久中日韩|