當前位置:首頁 » 編程語言 » sql循環查詢

sql循環查詢

發布時間: 2022-01-09 14:03:49

1. 怎樣在sqlServer中將查詢的結果循環。

一種是游標,不過表數據量特別大的時候不建議使用,對性能有影響,好像不支持索引。
或者
使用臨時表加while循環來處理。

2. sql 循環查詢

MSSQL 資料庫下實現:

CREATETABLE#TEMP(單號INT,價格FLOAT)
INSERTINTO#TEMPVALUES(2,50)
INSERTINTO#TEMPVALUES(1,50)
INSERTINTO#TEMPVALUES(3,60)
INSERTINTO#TEMPVALUES(4,60)
INSERTINTO#TEMPVALUES(7,60)
INSERTINTO#TEMPVALUES(8,60)

DECLARE@REFIDINT
,@ORDERIDVARCHAR(30)
,@JIAGEVARCHAR(100)
SELECTREFID=IDENTITY(INT,1,1),DealFlg=0,單號,價格
INTO#Temp_Lists
FROM#TEMP

SELECT@REFID=MIN(REFID)FROM#Temp_ListsWHEREDealFlg=0
CREATETABLE#TEMP1(單號VARCHAR(100),價格FLOAT)
DECLARE@TEMPDANHAOVARCHAR
WHILE@REFIDISNOTNULL
BEGIN
SELECT@ORDERID=單號,@JIAGE=價格FROM#Temp_ListsWHEREREFID=@REFID

IFEXISTS(SELECT價格FROM#TEMP1WHERE價格=@JIAGE)
BEGIN
SELECT@TEMPDANHAO=單號FROM#TEMPWHERE單號=@ORDERID
PRINT@ORDERID
UPDATE#TEMP1SET單號=convert(varchar(10),單號)+','+@TEMPDANHAOWHERE價格=@JIAGE
END
ELSE
BEGIN
INSERTINTO#TEMP1SELECT*FROM#TEMPWHERE單號=@ORDERID
END

UPDATE#Temp_ListsSETDealFlg=1WHEREREFID=@REFID
SELECT@REFID=MIN(REFID)FROM#Temp_ListsWHEREDealFlg=0ANDREFID>@REFID

END
SELECT*FROM#TEMP1
DROPTABLE#TEMP1
DROPTABLE#Temp_Lists
DROPTABLE#TEMP

3. 如何用SQL循環查詢語句

oracle
:
begin
for
a
in
(select
*
from
emp)
loop
...
end
loop;
end;

4. --SQL循環查詢表

單個表的循環都做出來了,多表也一樣啊。
首先,去sysobjects表裡count(*)得出有多少個符合規則的用戶表,然後用while語句控制循環次數.
同時,把所有符合規則的表,放到一個臨時表裡,比如#TEMP表了。然後就可以利用游標讀取表名到變數中了.有了表名,那麼把你上面那堆代碼復制過去,簡單改下,就可以套在while循環了。
唯一需要掌握的,就是對游標的使用。以你上面的SQL功底,應該很容易理解。

5. sql語句怎麼循環查詢

selectf1fromtable1的結果集做為查詢條件循環查詢。
如:
set@a=selectf1fromtable1
foreach(@a)
{
select*fromtable2
wheref2=@a
}

6. sql語句 條件循環查詢

補充:
按照你的意思改了一下,把找出的所有記錄中,沒有子結點(也就是葉子)的記錄顯示出來。

select * into #tmp from (
(select * from ywb_zd where id=6)
union all
(select * from ywb_zd where parentID in (select id from ywb_zd where id=6))
union all
(select * from ywb_zd where parentID in (select id from ywb_zd where parentID in (select id from ywb_zd where id=6)))
union all
(select * from ywb_zd where parentID in (select id from ywb_zd where parentID in (select id from ywb_zd where parentID in (select id from ywb_zd where id=6))))
)x
select * from #tmp a where not exists(select * from #tmp where parentID=a.id)
drop table #tmp

7. sql 條件 循環 查詢

selectt1.日期,max(t2.價格)最高價from表At1
innerjoin表2t2ont2.日期>t1.日期andt2.日期<=t1.日期+10
groupbyt1.日期
wheret1.價格>10

8. SQL 循環查100多個表

樓主是不是想要查詢列表中所有表的記錄條數,這100多個表結構一樣的吧??
如果是,那麼好辦了。
首先說一下你可以小睡一會兒的原因:因為每次你都去open一次連接,關閉一次連接,想像一下吧,連續打開關閉100多次資料庫連接,別說查詢了,光打開關閉連接就夠你睡一會兒了。

你需要做的是,把這100多條sql語句聯合起來,然後用union:
select distinct 村,鄉鎮 from 文本1
union
select distinct 村,鄉鎮 from 文本2
.......
然後在最外面加一個select顯示你要的結果,這樣就是一條sql語句,只是union多了一些,但是無傷大雅,只要你的表數據不是幾十萬那樣的。。。

如果不是上述問題,那就得研究一下腳本優化的問題了。

9. sql server 循環查詢數據

Create Table A
(
Aa int
)

insert into A values(2)

Declare @cnt int
Set @cnt=10;
/*
要重復顯示的次數
Sql 2005以上版本
*/
with t(Aa,Cnt)
As
(
Select Aa,1 As Cnt From A
Union All
Select Aa,cnt+1 As Cnt From t Where cnt<@cnt
)
Select Aa From t

Drop Table A

熱點內容
安卓備忘錄語音怎麼配樂 發布:2024-12-28 05:12:35 瀏覽:131
盧穎C語言 發布:2024-12-28 04:48:51 瀏覽:837
電腦腳本推薦 發布:2024-12-28 04:46:42 瀏覽:681
編程回歸線 發布:2024-12-28 04:31:53 瀏覽:177
醫保劃撥新配置已報盤是什麼意思 發布:2024-12-28 04:26:36 瀏覽:557
安卓手機如何給蘋果手機傳送歌曲 發布:2024-12-28 04:22:01 瀏覽:375
紅米4熱點密碼怎麼設置 發布:2024-12-28 04:17:11 瀏覽:769
c編譯器打開文件亂碼 發布:2024-12-28 04:17:11 瀏覽:530
解壓後的文件怎麼按照名稱排列 發布:2024-12-28 03:56:50 瀏覽:767
內網電腦顯示無法連接到伺服器 發布:2024-12-28 03:51:26 瀏覽:241