SQL Server 2000: 需要return 从当前查询中的先前记录中记录 ID
SQL Server 2000: need to return record ID from a previous record in current query
我在服务台工作,正在对 PC 维修单进行一些分析。
我需要从我们的呼叫日志系统中转储数据,这些数据是 return 最近由另一个团队修复的计算机问题的票证历史记录。我们只是在尝试改进已部署机器的 QA,这些数据会有所帮助。
我有工单分析的查询,但我想return最后一个PC维修案例的工单号。
我目前的查询如下:
SELECT
CallLog.CallID,
CallLog.CustID,
Subset.Rep_num,
Subset.FirstName,
Subset.LastName,
CallLog.OpndetailCat,
CallLog.Tracker_Full,
CallLog.RecvdDate,
FROM
heatPrd.dbo.CallLog CallLog,
heatPrd.dbo.Subset Subset
WHERE
CallLog.CallID = Subset.CallID AND
CallLog.RecvdDate>='2015-10-01' AND
CallLog.OpnAreaCat='back from repair'
ORDER BY
CallLog.CallID DESC
这个returns
CallID CustID Rep_num FirstName LastName OpndetailCat Tracker_Full
2182375 1234 Sarah Doe Missing Email Folde
2181831 1235 JENNIFER Doe ZOTHER
2180815 1236 123 Jason Smith ZOTHER
2180790 1237 124 DARCY Doe Wrong Proxy Config
2180787 1239 125 Jason Smith ZOTHER
我想在查询中添加一个列,该列将 return 产生
的效果
select max(callid)
from calllog
where calltype = 'in_for_service_pc' and custid = '1234'
where calltype = 'in_for_service_pc'
驻留在 CallLog
table 上,而 custID
将从查询结果中提取。
这是很多信息,所以我希望我的要求很清楚。
免责声明:数据驻留在 SQL Server 2000 中,因此某些较新的命令可能无法运行。
像这样应该很接近了。
SELECT
cl.CallID,
cl.CustID,
s.Rep_num,
s.FirstName,
s.LastName,
cl.OpndetailCat,
cl.Tracker_Full,
cl.RecvdDate,
x.MaxCallID
FROM heatPrd.dbo.CallLog cl
JOIN heatPrd.dbo.Subset s ON cl.CallID = s.CallID
left join
(
select max(cl2.callid) as MaxCallID
, cl2.custid
from calllog cl2
where cl2.calltype = 'in_for_service_pc'
group by cl2.custid
) x on x.custid = cl.custid
WHERE cl.RecvdDate >= '2015-10-01' AND
cl.OpnAreaCat = 'back from repair'
ORDER BY cl.CallID DESC
我在服务台工作,正在对 PC 维修单进行一些分析。
我需要从我们的呼叫日志系统中转储数据,这些数据是 return 最近由另一个团队修复的计算机问题的票证历史记录。我们只是在尝试改进已部署机器的 QA,这些数据会有所帮助。
我有工单分析的查询,但我想return最后一个PC维修案例的工单号。
我目前的查询如下:
SELECT
CallLog.CallID,
CallLog.CustID,
Subset.Rep_num,
Subset.FirstName,
Subset.LastName,
CallLog.OpndetailCat,
CallLog.Tracker_Full,
CallLog.RecvdDate,
FROM
heatPrd.dbo.CallLog CallLog,
heatPrd.dbo.Subset Subset
WHERE
CallLog.CallID = Subset.CallID AND
CallLog.RecvdDate>='2015-10-01' AND
CallLog.OpnAreaCat='back from repair'
ORDER BY
CallLog.CallID DESC
这个returns
CallID CustID Rep_num FirstName LastName OpndetailCat Tracker_Full
2182375 1234 Sarah Doe Missing Email Folde
2181831 1235 JENNIFER Doe ZOTHER
2180815 1236 123 Jason Smith ZOTHER
2180790 1237 124 DARCY Doe Wrong Proxy Config
2180787 1239 125 Jason Smith ZOTHER
我想在查询中添加一个列,该列将 return 产生
的效果select max(callid)
from calllog
where calltype = 'in_for_service_pc' and custid = '1234'
where calltype = 'in_for_service_pc'
驻留在 CallLog
table 上,而 custID
将从查询结果中提取。
这是很多信息,所以我希望我的要求很清楚。
免责声明:数据驻留在 SQL Server 2000 中,因此某些较新的命令可能无法运行。
像这样应该很接近了。
SELECT
cl.CallID,
cl.CustID,
s.Rep_num,
s.FirstName,
s.LastName,
cl.OpndetailCat,
cl.Tracker_Full,
cl.RecvdDate,
x.MaxCallID
FROM heatPrd.dbo.CallLog cl
JOIN heatPrd.dbo.Subset s ON cl.CallID = s.CallID
left join
(
select max(cl2.callid) as MaxCallID
, cl2.custid
from calllog cl2
where cl2.calltype = 'in_for_service_pc'
group by cl2.custid
) x on x.custid = cl.custid
WHERE cl.RecvdDate >= '2015-10-01' AND
cl.OpnAreaCat = 'back from repair'
ORDER BY cl.CallID DESC