簡體   English   中英

SQL選擇基於子查詢中的值

[英]SQL Select based on value from sub-query

我正在嘗試根據另一個擁有我ID的用戶的經度和緯度選擇一組用戶。 我需要在查詢的SELECT語句中進行距離計算,並且不確定如何訪問要搜索的用戶的經度和緯度。

到目前為止,這是我的查詢(無效)

SELECT 
    *, 
    (SELECT u1.latitude, u1.longitude 
     FROM user u1 
     WHERE u1.id = '77c3d4e0-37f6-4fae-b8ac-66cffad07179'), 
    (3959 * acos(cos(radians(u1.latitude))
          * cos(radians(latitude))
          * cos(radians(longitude) - radians(u1.longitude))
    + sin (radians(u1.latitude))
       * sin(radians(latitude)))) AS distance 
FROM 
    user u2

基本上,我想從用戶那里獲得所有列,並獲得一個稱為距離的列,該距離是具有ID的用戶的距離

將子查詢引用移至from子句:

SELECT u2.*, 
       (3959 * acos (
           cos ( radians(u1.latitude) )
           * cos( radians( u2.latitude ) )
           * cos( radians( u2.longitude ) - radians(u1.longitude) )
           + sin ( radians(u1.latitude) )
           * sin( radians( u2.latitude ) )
         )
       ) AS distance
FROM icebreaker_user u2 JOIN
     icebreaker_user u1
     ON u1.id = '77c3d4e0-37f6-4fae-b8ac-66cffad07179'

暫無
暫無

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

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