2011-08-27 137 views
0

這裏是我的查詢:SQL:如何使用SELECT結果函數輸入參數

SELECT 
    CASE 
     WHEN hbn.users.showDistance = 'T' 
     THEN hbn.distance(u2.lat, u2.lon, hbn.users.lat, hbn,users,lon) 
    ELSE 0 
    END as distance, 
hbn.users.id, 
hbn.users.username, 
From hbn.users, 
(select hbn.users.lat, hbn.users.lon from hbn.users where hbn.users.id = '1') AS u2 
where hbn.users.Id = '8'; 

這不起作用! 我需要使用第二個select語句的輸出作爲distance()函數的輸入。

+0

僅供參考,看起來您的主查詢和子查詢之間的子句hbn.users.id ='1''和hbn.users.id ='8''之間存在衝突。我不知道這是否導致您的問題,雖然 – jadarnel27

+0

請解釋什麼不適用於此查詢。它甚至沒有運行?它只是沒有給你你期望的結果嗎?另外,你期望什麼結果**** DO ****? – jadarnel27

+0

請發佈您的錯誤信息。 在您的CASE語句中,如果'showDistance'不等於'T',那麼您將有0列。我不確定這是可能的。 而且我也強化了jadarnel27的說法。 – Cassio

回答

1

它看起來像逗號,而不是在hbn.distance的最後一個參數的完整停止?

+1

另外,是hbn.users.username有效後的逗號? – James

相關問題