怎么根据不同字段的值确定查询返回的结果(一个复杂的SQL查询)
求助:如何根据不同字段的值确定查询返回的结果(一个复杂的SQL查询)
求助:如下图,是一个任务(每个任务有N个步骤,每个步骤对应数据库中一条记录)在数据库的存储,如果AppFather_ID是结果为0则表示一个任务的开始,而其对应的App_ID是任务下一步的AppFather_ID。如果App_ID在AppFather_ID中找不到则表示该任务结束。现在我要设计一个查询,返回每个任务的AppO_Title和AppBegin_time和App_time,并且要知道流程总共经历了几个步骤才结束。请指教…………

------解决思路----------------------
应该是 App_EndTime 吧,App_Time 什么规则?
求助:如下图,是一个任务(每个任务有N个步骤,每个步骤对应数据库中一条记录)在数据库的存储,如果AppFather_ID是结果为0则表示一个任务的开始,而其对应的App_ID是任务下一步的AppFather_ID。如果App_ID在AppFather_ID中找不到则表示该任务结束。现在我要设计一个查询,返回每个任务的AppO_Title和AppBegin_time和App_time,并且要知道流程总共经历了几个步骤才结束。请指教…………
------解决思路----------------------
应该是 App_EndTime 吧,App_Time 什么规则?
SELECT App_ID, AppO_Title, AppBegin_time, App_EndTime, 1 Steps, APP_ID NextFID
INTO #temp
FROM table1
WHERE App_FatherID = 0
WHILE @@ROWCOUNT > 0
BEGIN
UPDATE #temp
SET #temp.App_Endtime = table1.App_Endtime,
#temp.Steps = #temp.Stemps + 1,
#temp.NextFID = table1.APP_ID
FROM #temp, table1
WHERE #temp.NextFID = table1.AppFather_ID
END
SELECT App_ID, AppO_Title, AppBegin_time, App_Endtime, Steps
FROM #temp