需要SQL查询协助 - 加入信息

时间:2013-12-14 18:52:39

标签: mysql sql join

我有两个表,一个包含主键“id”和“web_id”,它包含一个url的varchar,表名为“SG”。

在另一个表中有一个主键“id”,“web_id”,“votetype”和“userID”。表名为“投票”。

当我搜索“www.facebook.com”

时,我希望得到一张桌子

我得到一个单行表:

列名:web_id,喜欢,不喜欢

喜欢votetype = 0的地方,不喜欢的是votetype = 1。

这是我所拥有的,但我对Joins没有经验,并且错误消息不提供任何信息。

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的帮助将不胜感激! :)

1 个答案:

答案 0 :(得分:1)

我猜你需要单个web_id

的喜欢和不喜欢的数量
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