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)
如果要一直显示,在子程序中迭代就行,但是对客户的审查习惯和系统的资源没好处