2
这是我当前的SQL查询SQL留下了那里混乱
SELECT
urls.short,
urls.long,
urls.user,
dates.date AS date,
COUNT(views.short) AS views,
SUM(views.money) AS money
FROM dates
LEFT JOIN views ON dates.date = views.date
LEFT JOIN urls ON views.short = urls.short
WHERE urls.user='test'
GROUP BY dates.date, views.date
LIMIT 0, 20
它显示的结果是这样的连接:
2011-02-08测试测试1 0.003
2011 -02-09 test test 6 0.016
但是w母鸡我删除
WHERE urls.user='test'
我得到
2011-02-05 0
2011-02-06 0
2011-02-07 44kc http://google.com 27 0.031
2011-02-08 44kc http://google.com 15 0.045
2011-02-09试验测试12 0.032
2011-02-10 0
所以最后我想用第一查询,以获得第二查询结果(在没有任何可用的情况下显示0)。 那么最新的解决方案?
这是正确的。 LEFT JOIN工作正常,但WHERE子句是基于从可选连接的表中引入的列限制行,从而排除未连接的行。将逻辑移至连接条件可修复此问题。 – 2011-02-10 11:44:42