2013-12-14 28 views
1

我有兩個表,一個持有一個主鍵「id」和「web_id」,它包含一個url的varchar,表格被命名爲「SG」。需要SQL查詢幫助 - 加入信息

在另一個表中有主鍵「id」,「web_id」,「votetype」和「userID」。表被命名爲「投票」。

我想用一個表,當我搜索「www.facebook.com」

我得到一個單行表,這結束了:

列名:web_id,喜好,厭惡

如果喜歡是votetype = 0,和不喜歡的是votetype = 1

這裏是我有但我沒有經驗與聯接和錯誤信息不提供任何信息。

SELECT web_id 
FROM `SG` 
WHERE web_id="www.facebook.com" 
LEFT OUTER JOIN 
    (SELECT COUNT(*) AS likes 
    FROM `Votes` WHERE web_id="www.facebook.com" AND votetype=0 
    LEFT OUTER JOIN 
     (SELECT COUNT(*) AS dislikes 
     FROM `Votes` 
     WHERE web_id="www.facebook.com" AND votetype=1 
     ) 
    ) 

任何幫助糾正我的SQL將不勝感激! :)

+0

你爲什麼要添加一個關鍵'id'到'sg'表的喜好和單web_id的不喜歡的數量,如果你最終使用'web_id'作爲「投票」表中的外鍵? –

回答

1

我猜你需要

SELECT s.web_id ,SUM(v.votetype = 0) AS `likes` ,SUM(v.votetype = 1) AS `dislikes` 
FROM `SG` s 
INNER JOIN Votes v ON (s.web_id =v.web_id) 
WHERE s.web_id='www.facebook.com' 
GROUP BY v.web_id 
+1

這樣做伎倆,感謝一百萬!我不知道你可以使用SUM函數! – AndrewB

+0

@AndrewB我很高興它可以幫助你 –