我在尋求幫助,因爲我不太瞭解SQL。如何連接兩個表並計算某些值的出現次數?
我需要連接兩個表,並從第二個表計出現一些值來實現類似的統計數據表的效果,這將有coluns:
結果表:
- 國家VARCHAR(20),
- 站點VARCHAR(20),
- suspected_violation長,
- confirmed_violation長,
- confirmed_no_violation長,
- not_determined長,
- 總長
我的結果表需要有前兩列(contry與本站)來自第一表「違規」和未來5列將包含數字(計數)在來自狀態表的每個可能的id值中的「Violations」中發生的status_id。
現在我可以上傳表格的圖片結果,我想達到的目標:
所以,我現有的兩個表:違規和狀態。
違規:
- ID長,
- 國家VARCHAR(20),
- 網站VARCHAR(20),
- STATUS_ID長,< - 這是在狀態的狀態標識表。
- ...等欄目在這種情況下並不重要
狀態:
- ID長,
- 狀態長 列 「身份」 具有其分別對應的值(1-4) (1),確認違規(2),確認無違規(3),未確定(4)
在我加入的結果是t Ø有表應包含列:
- 從違規表:「國家」和「網站」
- 從狀態表:「涉嫌違反」,「確認衝突」,「確認不違規」,「不確定「,」總計「(這些列是違規表中出現的計數器)。
我的僞代碼和抽象的嘗試:
SELECT v.country, v.site, count(v.status_id == 1), count(v.status_id == 2), count(v.status_id == 3), count(v.status_id == 4)
FROM Violations v JOIN Status s
ON v.status_id=s.id
GROUP BY v.country, v.site
普萊斯幫我寫正確的SQL查詢,因爲有大的問題,要做到這一點。
你已經嘗試過什麼? – 2013-03-11 16:45:12
你提到的*圖片在哪裏? – 2013-03-11 16:49:46
由於stacoverflow信譽限制,我無法添加圖片。我已經添加了我的僞代碼 – Roman 2013-03-11 16:56:59