sql的迭代查詢
A. 一個sqlserver的循環查詢刪除的SQL語句
我寫給你
CREATE PROCEDURE xinwen
(@ID int)
AS
CREATE TABLE #t_Level(ID int,Level int)
DECLARE @Level int
BEGIN
SET @Level=1
INSERT t_Level SELECT @ID,@Level
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT t_Level SELECT a.ID,@Level
FROM 新聞表 a,t_Level b
WHERE a.prents=b.ID
AND b.Level=@Level-1
END
delete from 新聞表 where id in (select id from #t_Level)
END
GO
新聞表就是你那個表
B. SQL語句:查詢出所有有聯系的數據(高手來)
現在都些什麼人,不仔細回答就不要亂拷貝,有什麼意思。 你的問題1個SQL應該實現不了,不過這樣就行了,也很簡單,你可以多些數據測測,如果有其他更好的方法可以告訴我 ---------------------建立 Temporarily 臨時表---------------------------- DECLARE @Temporarily TABLE (Temporarilyid int, TemporarilyPId int) ---------------------申明臨時變數a,b,存儲你的第一個查詢條件,這個固定---------------------------- DECLARE @a int set @a=(SELECT ID1 as a FROM test WHERE ID1 = 1) DECLARE @b int set @b=(SELECT ParentID as b FROM test WHERE ID1 = 1) ---------------------將第一條結果插入臨時表---------------------------- INSERT INTO @Temporarily VALUES (@a,@b) ---------------------循環執行,循環數為你記錄的條數,這個不固定---------------------------- DECLARE @i int SET @i = 1 WHILE @i <= 10 BEGIN ---------------------臨時變數e,返回表的某條數據是否符合你的子父關聯要求---------------------------- DECLARE @e int set @e=(SELECT distinct Temporarilyid as e FROM @Temporarily WHERE Temporarilyid IN(SELECT ParentID FROM test WHERE ID1 = @i) or TemporarilyPId in(SELECT ID1 FROM test WHERE ID1 = @i)) ---------------------符合,執行插入操作---------------------------- IF @e>0 BEGIN set @a=(SELECT ID1 as c FROM test WHERE ID1 = @i) set @b=(SELECT ParentID as d FROM test WHERE ID1 = @i) INSERT INTO @Temporarily VALUES (@a,@b) END SET @i = @i + 1 END ---------------------顯示結果集---------------------------- SELECT Temporarilyid AS a,TemporarilyPId AS b FROM @Temporarily 覺對可以滿足你說的要求,多少條數據都可以,具體說一條sql語句執行,我還沒想到可以的
C. sql 省市縣 迭代查詢
類似ORACLE中的start with connect by prior語法。
www.2cto.com
說明:T_SYS_ORG機構表,欄位:ROW_ID/PAR_ROW_ID,PAR_ROW_ID表示父機構的ROW_ID
--自上往下
Sql代碼
WITH NODES
AS (
SELECT * FROM DBO.T_SYS_ORG par WHERE par.ROW_ID='28'
UNION ALL
SELECT child.* FROM T_SYS_ORG AS child INNER JOIN
NODES AS RC ON child.PAR_ORG_ID = RC.ROW_ID)
SELECT * FROM T_SYS_ORG WHERE row_id IN (SELECT row_id FROM NODES N ) ;
--自下往上 www.2cto.com
Sql代碼
WITH NODES
AS (
SELECT * FROM DBO.T_SYS_ORG child WHERE child.ROW_ID='32'
UNION ALL
SELECT par.* FROM T_SYS_ORG AS par INNER JOIN
NODES AS RC ON par.row_id = RC.PAR_ORG_ID)
SELECT * FROM T_SYS_ORG WHERE row_id IN (SELECT row_id FROM NODES N ) ;
D. PHP怎麼獲取mysql迭代查詢的數據。
你這里定義的是函數,是內聯在單個sql語句中使用的
這里的效果應該是把上級數據id查出來用, 拼接返回(用於其它查詢或條件判斷)
所以,這個查詢並沒有多個結果集,只是按id以及上級所有id查詢出一系列數據而已
數據查詢出來後是沒有層級關系的,只是扁平的一組二維數據,需要按關系排列的話,可以手動排列
E. sql可以實現迭代嗎
在 SQL Server Analysis Services 中,Microsoft 神經網路演算法組合輸入屬性的每個可能狀態和可預測屬性的每個可能狀態,並使用定型數據計算概率。之後,可以根據輸入屬性,將這些概率用於分類或回歸,並預測被預測屬性的結果。
F. 迭代表中的數據sql查詢
select b.city_name,a.c_count
from
(select city_fatheid,count(*) as c_count from table where city_fatheid<>0 group by city_fatheid) a
inner join
table b
on a.city_fatheid=b.city_type and b.city_fatheid=0
G. sql語句查詢出來的結果集迭代
select x.xmnr,sum(x.je),sum(sl),count(1) from fp_kp_mxxx x left join fp_kp f on x.kpid=f.id
group by x.xmnr
H. MS SQL 用WITH CTE 迭代BOM層次的問題
一共有多少階段?每個階段有多少數據?實際數據中通不過有什麼提示?
通不過的情況太多了,有可能階段太多所以PX欄位超長。也有可能數據有問題partno和cpartno無限遞歸等等
I. sql server 怎麼迭代
示例:
--Getchildsbyparentid
WITHTree
AS
(
SELECTId,ParentIdFROMdbo.NodePWHEREP.Id=21--parentid
UNIONALL
SELECTC.Id,C.ParentIdFROMdbo.NodeC
INNERJOINTreeTONC.ParentId=T.Id
)
SELECT*FROMTree
--Getparentsbychildid
WITHTree
AS
(
SELECTId,ParentIdFROMdbo.NodeCWHEREC.Id=57--childid
UNIONALL
SELECTP.Id,P.ParentIdFROMdbo.NodeP
INNERJOINTreeTONP.Id=T.ParentId
)
SELECT*FROMTree
J. sql 循環 語句
樓主的語句似乎沒問題
第一個頁面正確,第二個頁面不正確是指什麼意思?
或者使用
do while NOT aa.EOF
loop
試試看
**********************
如果是在需要的話
可以通過子程序實現,不用這樣子嵌套
如建立fuction.asp,在調用頁面include進去
fuction searchSeries(series)
sql = "SELECT top 8 * FROM AAAA where 類型='"&series&"'" bb.Open sql,conn,1,3
do While NOT bb.EOF
response.write bb("標題")&"<br>"
bb.MoveNext()
loop
bb.close
set bb=nothing
end fuction
然後在內循環部分直接調用
searchSeries(a1)
如果要一直顯示,在子程序中迭代就行,但是對客戶的審查習慣和系統的資源沒好處