2017-08-26 81 views
0

我需要一個基於MySQL的SQL問題有所幫助,下面是描述和樣本輸入:正確的做法到SQL查詢

enter image description here

而下面的示例輸出:

enter image description here

我已經試過類似:

select ROUND(sum(i1.TIV_2012), 2) from INSURANE i1, INSURANCE i2, INSURANCE i3 where (i1.PID!=i2.PID and i1.TIV_2011=i2.TIV_2011) and (i1.PID!=i3.PID and (i1.LAT!=i3.LAT or i1.LON!=i3.LON)) 

但系統不能接受這個。 任何人都可以幫我嗎?

+1

請與我們分享確切的錯誤信息!第一個表名中有一個錯字。 – Shadow

+1

*從不*在'FROM'子句中使用逗號。 *總是*使用正確的,顯式的'join'syntax。 –

+0

根據系統 – MyCoy

回答

1

使用下列SQL

SELECT SUM(i1.tiv_2012) total  
    FROM insurance i1 
WHERE NOT EXISTS (SELECT 1 
        FROM insurance i2 
        WHERE i1.lat = i2.lat 
         AND i1.lon = i2.lon 
         AND i1.pid <> i2.pid) 
    AND EXISTS (SELECT i3.tiv_2011 
       FROM insurance i3 
       WHERE i3.tiv_2011 = i1.tiv_2011 
        AND i3.pid <> i1.pid); 

結果

total 
1711758.65 
+0

沒有錯誤,但結果不正確感謝您的幫助 – MyCoy