我有三個表來管理這些網站中的網站,地理圍欄和密鑰。代碼Ingniter PHP SQL加入
到Geofences的網站是一對多的網站。 Site to Keys是一對多的。
Sites
id int PK
name varchar
deleted bool
Geofences
id int PK
site_id int
lat double
lon double
rad double
Keys
id int PK
site_id int
deleted bool
SELECT語句:
SELECT *, SUM(IF(kc.deleted = 0, 1, 0)) AS 'KeyCount'
FROM Keys kc
INNER JOIN Geofences g ON kc.id = g.site_id
INNER JOIN Sites s ON s.id = kc.site_id
GROUP BY kc.site_id;
我想算在按鍵與本站不被刪除的每個站點,鍵以及返回每個站點的地理圍欄數據在一個MySQL的聲明。
樣品表中的數據:
Sites -----------------------------------
id name deleted
1 site_one 0
2 site_two 0
3 site_three 0
Geofences -----------------------------------
id site_id lat lon rad
1 1 25.5 -123.4 50
2 1 22.44 -123.3 50
3 1 20.1 -122.5 50
4 2 27.22 -120.5 50
5 2 28.999 -121.11 50
6 3 29.8 -122 75
Keys -----------------------------------
id site_id deleted
1 1 0
2 1 1
3 1 0
4 1 0
5 2 0
5 3 0
任何幫助將是巨大的,我一直在試圖弄明白,現在2小時..
我把它'deleted' = 0意味着它不會被刪除? – Ash
嗨Ashwin,這是正確的:) – Nickmccomb
酷....我要求一個示例輸出,因爲我不明白如何輸出密鑰的計數和geofence信息在一個表中。如果你可以修改你的問題並添加一個示例輸出,它可能會清楚地說明這一點。 – Ash