簡體   English   中英

拉出與聚合 function 的 (min) 匹配的單獨列

[英]Pull a separate column that matches the (min) of an aggregate function

到目前為止它運作良好,但我從這里很難過,因為我是全新的。 此查詢查找最近的距離匹配,將“FAILED”文件夾中的每個項目與“FAILED”文件夾中不存在的所有項目配對。

“表 p”中有一個“RouteID”列,我想與 min() 聚合匹配。

我無法處理如何使 SELECT 查詢僅顯示來自 tbl p 的關聯“RouteID”列,但最終,我想將其轉換為將 SET a.Route = p.Route 與 min() 關聯的更新查詢

任何幫助,將不勝感激。

SELECT a.name, a.Reference1,
    MIN(round(ACOS(COS(RADIANS(90-a.lat))
     *COS(RADIANS(90-p.latpoint))
     +SIN(RADIANS(90-a.lat))
     *SIN(RADIANS(90-p.latpoint))
     *COS(RADIANS(a.lon-p.longpoint)))
     *3958.756,2)) AS 'DISTANCE'

FROM tblOrder AS a WITH (NOLOCK)
LEFT JOIN 
     (
         SELECT b.lat AS latpoint, b.lon AS longpoint,
             b.Sequence, b.routeid
             from tblOrder b WITH (NOLOCK)
              WHERE b.CUSTID = 180016
              AND b.routeID <> 'FAILED'
              AND b.StopType = 1
     ) AS p ON 1=1

WHERE a.CustID = 180016
AND a.RouteID = 'FAILED'
AND a.StopType = 1
AND P.RouteID <> 'FAILED'

GROUP BY
a.name, a.Reference1

您可以將它們分開 select 然后加入它們

SELECT c.name, c.Reference1, q.RouteID
FROM 
(
   SELECT a.name, a.Reference1,
   MIN(round(ACOS(COS(RADIANS(90-a.lat))
   *COS(RADIANS(90-p.latpoint))
   +SIN(RADIANS(90-a.lat))
   *SIN(RADIANS(90-p.latpoint))
   *COS(RADIANS(a.lon-p.longpoint)))
   *3958.756,2)) AS 'DISTANCE'

  FROM tblOrder AS a WITH (NOLOCK)
  LEFT JOIN 
  (
     SELECT b.lat AS latpoint, b.lon AS longpoint,
         b.Sequence, b.routeid
         from tblOrder b WITH (NOLOCK)
          WHERE b.CUSTID = 180016
          AND b.routeID <> 'FAILED'
          AND b.StopType = 1
  ) AS p ON 1=1

 WHERE a.CustID = 180016
 AND a.RouteID = 'FAILED'
 AND a.StopType = 1
 AND P.RouteID <> 'FAILED'
 GROUP BY
 a.name, a.Reference1
 ) c
 LEFT JOIN 
 (
     SELECT b.lat AS latpoint, b.lon AS longpoint,
         b.Sequence, b.routeid
         from tblOrderRouteStops b WITH (NOLOCK)
          WHERE b.CUSTID = 180016
          AND b.routeID <> 'FAILED'
          AND b.StopType = 1
 ) AS q 
 ON q.routeID = c.DISTANCE

 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM