1樓:擺渡浮橋
內迴圈之後忘記重新初始化變數@currid。
改寫之後:declare @currid intdeclare @no int
set @no=822
while(@no<1014)
beginset @currid = 2 --把變數初始化放到這。
while( exists(select piece_no from xinbiao where piece_no=@currid) )
beginupdate xinbiao set page_no=(select page_no+quantity from xinbiao where piece_no=@currid-1 and year_folder_no=@no) where piece_no=@currid and year_folder_no=@no
set @currid=@currid+1endset @no=@no+1end
關於sql的迴圈問題
2樓:擺渡浮橋
迴圈效率低。可以只用一個update 語句實現,只掃描一次表,高效。
update table1
set score = case when score between 70 and 79 then 80 --70-79,每次+1分,最終80
when score between 60 and 69 then ceiling((80 - score)/ 5 + score --60-69,每次加5分。
when score < 60 then ceiling((80 - score)/ 10 + score end --60,每次加10分。
where score < 80 --大於或等於80分,不加分。
3樓:
樓主,一次加一分一次加十分,最後你還不是都要加到80,還分什麼規則啊。
把成績小於80的都更新成80不行麼。
4樓:舒綺煙
create table #temp(
路線** varchar(8),起點 varchar(8),終點 varchar(8),起點樁號 decimal(4,2) ,終點樁號 decimal(4,2)
goinsert into #temp
select 'y440608', 大灣', 石柱', union all
select 'y440608', 石柱', 觀音橋', union all
select 'y440608', 觀音橋', 蘆溪', union all
select 'y440605', 龍橋', 磙子河',
goselect
firsttemp.[路線**],firsttemp.[起點],lasttemp.[終點],firsttemp.[起點樁號],lasttemp.[終點樁號]
from#temp as firsttemp
join #temp as lasttemp
on (firsttemp.[路線**] =lasttemp.[路線**])
wherenot exists
select 1
from #temp as checkfirst
wherefirsttemp.[路線**] =checkfirst.[路線**]
and firsttemp.[起點] =checkfirst.[終點]
and not exists
select 1
from #temp as checklast
wherelasttemp.[路線**] =checklast.[路線**]
and lasttemp.[終點] =checklast.[起點]
路線** 起點 終點 起點樁號 終點樁號。
y440608 大灣 蘆溪
y440605 龍橋 磙子河
2 行受影響)
關於sql迴圈的問題
5樓:匿名使用者
建議提供表結構,才能寫出合理的sql
另外可以嘗試用ssis整合服務實現。
6樓:匿名使用者
最簡單的辦法,就是分成單獨的幾個表,比如省,市,區三個表,用id去關聯。
再查詢就可以得到你想要的這個結果。
在j**a中執行sql查詢,當for迴圈兩次時第一次滿足條件一,第二次滿足條件二時,select語句第二次沒有執行
7樓:匿名使用者
第二次沒有執行時因為,你第一次查詢結束後關閉了result。
不知道你這個要實現什麼功能,你這個迴圈其實是沒意義的,每次結果都會覆蓋,就是隻能得到最後一次的迴圈結果!
8樓:匿名使用者
我不知道你為什麼要有個迴圈,你的。
條件肯定是在迴圈之外就做好了吧。 那麼,進入循版環之後,不權管迴圈幾次 都只會有一個結果,那你還要這個迴圈做什麼? 脫了褲子放屁 多此一舉 而且你把關閉語句也放在迴圈裡面的,當第一次迴圈完了之後,資源都關閉了,你還查詢什麼?
9樓:匿名使用者
用debug跟蹤一下,看看是不是第二次迴圈停住了。
10樓:匿名使用者
建議:你只要條件二看看。
sql server如何查詢出某個欄位重複出現兩次以上的資料
11樓:
用關鍵字 stinct
select stinct 欄位。
不重複的意思。
請教一個sql關於迴圈問題
12樓:琦之玉
這個根本不需要迴圈的,一個sql語句技能搞定,多做幾個連線查詢,做迴圈的話複雜,而且效能還低。
13樓:匿名使用者
是什麼資料庫? 不同資料庫有不同寫法。
sql迴圈引用的問題
14樓:但秋柳
描述不是很清楚,需要這個表結構以及含義的說明。
一個sql查句迴圈計數的問題 10
15樓:匿名使用者
這個不用迴圈,用case when 就可以了。
select xm,ds,dn,kk,case when ds = 0 then 0 else 1 end + case when dn = 0 then 0 else 1 end + case when kk = 0 then 0 else 1 end from 表名。
關於sql server的迴圈更新問題
16樓:
with t1 as (select 6 as flag)
select a.日期,a.總數,(case when (tmp_data-flag)<=0 then 0 else (tmp_data-flag) end) as "已用",a.總數- (case when (tmp_data-flag)<=0 then 0 else (tmp_data-flag) end ) as 「剩餘"
from (
select a.日期,a.總數,a.已用,a.剩餘,sum(b.總數) tmp_data
from (select 日期,總數,已用,剩餘,row_number() over(order by 日期 asc) num from table_name) a
left join (select 日期,總數,已用,剩餘,row_number() over(order by 日期 asc) num from table_name) b on >=
group by a.日期,a.總數,a.已用,a.剩餘。
p, t1這樣吧。
問關於sql時間求和的問題,問一個關於SQL時間求和的問題!
沒有想到太好的解決辦法,還是用笨方法通過轉換解決 建表 create table timetest tdate varchar2 8 ttime varchar2 4 初始化資料 insert into timetest values 20130613 0230 insert into timete...
關於C中SQL查詢語句的引數,關於C 中SQL查詢語句的引數
tbname truename要 tbname truename 這個是string連線的一種方式 eg a b ab tbname truename tbname truename這個應該是資料庫欄位對應的值兩個 是sql語句 select from table where name 名字 只有在...
關於vb迴圈次數的問題?急,VB計算迴圈的次數
誤差造成 請看這段程式 private sub form click dim i as single for i 0.2 to 1 step 0.1 print i next end sub 輸出結果是 2.3 4.5 6.7 8000001 9000001 你可以把程式放入vb除錯一下,最後2行也...