我有一个表,其中包含我的服务订单,对于服务订单,可能会有许多服务问题。我需要一个查询,它将得到如下结果: Joe去解决一个问题,打开了编号为1的服务订单。问题没有解决,客户回电。现在Bob去解决Joe没有解决的问题。除此之外,Joe还停靠了一个重复服务。乔有一次重复。第二天,客户回电:问题没有解决,Joe出去解决问题。现在鲍勃又被停靠了一次。鲍勃有一次重复。问题没有解决,Joe被再次派去解决该问题。乔又被停靠了一次。现在joe有2次重复。问题仍然没有解决,Bob出去解决问题。乔又被停靠了一次。现在Joe有3次重复。问题仍然没有解决,Bob再次被派去解决问题。鲍勃被停靠了一次重演。现在Bob有2次重复,Joe对同一服务订单有3次重复。
我需要关于如何编写这种类型的查询的想法。以下是该表的示例:
Serv_Trouble TechID Tech ServOrder
ab51 1 joe 1
ccd2 2 bob 1
abd3 1 joe 1
tto4 1 joe 1
mmo5 2 bob 1
abo6 2 bob 1
lll7 1 joe 1
aco8 1 joe 2
dab9 1 joe 2
tof10 2 bob 2
ab11 2 bob 2
cc12 3 larry 2
ab13 2 bob 2
任何帮助都将是非常,我的意思是非常感谢。我已经搜索了大多数SQL站点的想法,但似乎没有解决像这样的事情。
发布于 2011-08-27 00:38:25
听起来你可能在找一个GROUP BY。
SELECT
s.ServOrder
,s.TechID
,s.Tech
,COUNT(*) as repeats
FROM ServOrders s
INNER JOIN (
SELECT
ServOrder
,MAX(Serv_Trouble) AS MaxTrouble
FROM ServOrders
GROUP BY ServOrder
) m ON s.ServOrder = m.ServOrder
AND s.Serv_Trouble < m.MaxTrouble
GROUP BY s.ServOrder, s.TechID, s.Tech
ORDER BY s.ServOrder, s.TechID
https://stackoverflow.com/questions/7205802
复制相似问题