當前位置:首頁 » 編程語言 » sql好難寫

sql好難寫

發布時間: 2024-09-10 02:55:10

⑴ 求助,一個sql語句不會寫,跪求幫助啊

--測試表
CreateTableusers
(
nameVarchar(10),
sumscoreint
)

CreateTablesales
(
nameVarchar(10),
scoreint
)

--合並在一起的觸發器,批量對sales做增刪改都沒問題,樓上的寫法嘛,嘿嘿
--但有個問題,你的name是關鍵字,你如果修改name,該怎麼處理?
CreateTriggertr_salesonsales
ForInsert,Delete,Update
As
Begin
mergeintousersM
using
(
Selectname,Sum(isnull(score,0))Asscore
From
(
Selectname,scoreFrominserted
Unionall
Selectname,-1*scoreFromdeleted
)S
GroupByname
)N
onM.name=N.Name
WhenmatchedThen
updateSetM.sumscore=M.sumscore+N.score
WhenNotmatchedThen
InsertValues(N.Name,N.score);
End

⑵ 怎麼提高寫sql語句的能力

不建議在工作中寫很復雜的sql語句 這樣會讓代碼復用率降低很多 而且不易後期維護和擴展 建議把復雜的sql語句拆分成多個簡單的語句 封裝成存儲過程 這樣會比較好 而且大量的多表查詢會讓系統延遲很高 容易死鎖

⑶ 寫sql完全沒思路,求sql大佬

首先,業務邏輯有點不清晰,現在假設第一道工序是開澆,開澆有開澆時間和結束時間,結束後在進行停澆工序,停澆有開澆時間和停澆時間。
目前來看,從你給出的數據,開澆和停澆,沒有必然的聯系,但是從數據分析,從開澆開始到開澆結束,至少用一個整天,而停澆開始時間一定是在開澆結束當天進行的,並且同一個中包號,每次停澆結束後,當天是不會在開澆的。
有了這些條件,應該可以查詢了。定義以上的查詢結果是表table
select * from table a,table b
where substr(a.停澆時間,1,10)=substr(b.開澆時間,1,10) and a.中包號=b.中包號

熱點內容
小米換機的備份密碼是多少 發布:2025-01-13 22:19:53 瀏覽:680
kindle可以解壓嗎 發布:2025-01-13 22:19:53 瀏覽:961
怎麼在酷我音樂上傳歌詞 發布:2025-01-13 22:18:12 瀏覽:442
雲南正舵者ipfs雲伺服器收益 發布:2025-01-13 22:11:52 瀏覽:920
plsql函數 發布:2025-01-13 22:11:19 瀏覽:59
數據結構圖的存儲 發布:2025-01-13 22:11:14 瀏覽:576
oraclesha1加密 發布:2025-01-13 22:08:26 瀏覽:761
建立一個打不開的文件夾 發布:2025-01-13 22:04:14 瀏覽:245
小桔商家通安卓版哪裡可以下載 發布:2025-01-13 21:59:01 瀏覽:156
php取來路 發布:2025-01-13 21:58:56 瀏覽:760