最近使用開(kāi)發(fā)的過(guò)程中出現(xiàn)了一個(gè)小問(wèn)題,順便記錄一下原因和方法--字段方法
???? ? ? ? ? 機(jī)房收費(fèi)系統(tǒng)中有幾個(gè)地方都是要反映學(xué)生的當(dāng)前余額的問(wèn)題,余額涉及到相同卡編號(hào)的花費(fèi)金額、注冊(cè)金額以及充值時(shí)的金額,這三種金額都放在三個(gè)地方,如果獨(dú)自獲得,在B層就要三個(gè)方法。如果將這三種金額放在同一個(gè)地方,就要多建一個(gè)表。如安在不增加表,又只通過(guò)一個(gè)方法能一次性將三種金額都查詢出來(lái)呢 ?
???? ? ? ? 其實(shí)這就涉及到SQL語(yǔ)句的寫法。
???? ? ?Select Sum(表1.字段),Sum(表2.字段),Sum(表3.字段),From 表1 Cross Join 表2 Cross Join 表3 Where(表1.字段=表2.字段 And 表2.字段=表3.字段 and 表1.字段=查詢的參數(shù))
???? 例如:
???? ? ? ?Select?Sum(OutLineInfo.ConsumeCash),Sum(ReChargeInfo.AddMoney),Sum(StudentInfo.Cash) From OutLineInfo Cross Join ReChargeInfo Cross Join? StudentInfo where(StudentInfo.CardNo = ReChargeInfo.CardNo And ReChargeInfo.CardNo = outlineinfo.CardNo And StudentInfo.CardNo=@CardNo)
???? 這樣就可以一次性查詢出多個(gè)表中需要尋覓的參數(shù)
???? 總結(jié):
???? ? ? ? 就這么一個(gè)小小的問(wèn)題,也曾讓我想了許久,查找了許多資料才弄出來(lái),想想是為什么?SQL知識(shí)我們已經(jīng)很早以前就學(xué)過(guò)了,但學(xué)到的也只是外相,當(dāng)時(shí)在聽(tīng)得時(shí)候也只知道個(gè)大概與可能,對(duì)SQL整體印象也知識(shí)增編削查,但具體怎么做,卻并不知道,這就需要我在當(dāng)前的學(xué)習(xí)中加深對(duì)SQL知識(shí)的學(xué)習(xí),不局限于外相。
???? ? ? ? 另外思維邏輯與尋覓知識(shí)的關(guān)鍵點(diǎn) 也至關(guān)重要,就像這個(gè)問(wèn)題,我開(kāi)始想到的方法是從新將有關(guān)錢(包括這三個(gè)字段)建立一個(gè)表,如果這樣,得增加各個(gè)層的代碼,也要修改UML圖;做了一點(diǎn),讓我越做越覺(jué)得麻煩,才追求簡(jiǎn)單方法。用視圖,視圖建立起來(lái),卻達(dá)不到我想要的效果,再另尋方法,查書籍,上彀搜尋,在偶爾中看到一個(gè)SQL語(yǔ)句,經(jīng)過(guò)重復(fù)實(shí)驗(yàn),修改才打到此目的。 如果從一開(kāi)始我就想到從新多建一張表比較麻煩,就不會(huì)再將時(shí)光花在寫這部分代碼上了。
???? ? ? ?但沒(méi)有開(kāi)始的失敗又怎么有當(dāng)初的勝利呢?不管怎樣,我都學(xué)到了。。。。
???? ? ? ??
文章結(jié)束給大家分享下程序員的一些笑話語(yǔ)錄: Google事件并不像國(guó)內(nèi)主流媒體普遍誤導(dǎo)的那樣,它僅僅是中國(guó)Z府和美國(guó)公司、中國(guó)文化和美國(guó)文化甚至中國(guó)人和美國(guó)人之間的關(guān)系,是民族主義和帝國(guó)主義之間的關(guān)系;更重要的是,它就是Z府和公司之間的關(guān)系,是權(quán)力管制和市場(chǎng)自由之間的關(guān)系。從這個(gè)意義上說(shuō),過(guò)度管制下的受害者,主要是國(guó)內(nèi)的企業(yè)。Google可以抽身而去,國(guó)內(nèi)的企業(yè)只能祈望特區(qū)。www.ishuo.cn
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
