希望有人能帮我解决这个问题。我有一个表以下数据:MySQL左连接返回错误的结果数
site_id type key data
2 organic-keywords-last-month (not provided) 9064
2 organic-keywords-last-month bmi 345
2 organic-keywords-last-month bmi kalkulator 445
2 organic-keywords-last-month grove pannekaker 678
2 organic-keywords-last-month grove vafler 976
2 organic-keywords-last-month lapper 475
2 organic-keywords-last-month melk.no 624
2 organic-keywords-last-month ostesuffle 361
2 organic-keywords-last-month scones 697
2 organic-keywords-last-month sunne pannekaker 658
2 organic-keywords-last-month sunne vafler 484
2 organic-keywords-this-month (not provided) 10034
2 organic-keywords-this-month bmi kalkulator 659
2 organic-keywords-this-month grove pannekaker 721
2 organic-keywords-this-month grove vafler 857
2 organic-keywords-this-month lapper 515
2 organic-keywords-this-month melk.no 587
2 organic-keywords-this-month ostesuffle 433
2 organic-keywords-this-month scones 626
2 organic-keywords-this-month smultringer 401
2 organic-keywords-this-month sunne pannekaker 566
2 organic-keywords-this-month sunne vafler 407
我想要做的就是查询所有的有机 - 关键词这个月,离开他们加入到有机 - 关键词最后一个月,所以这我从本月获得了11个关键词的列表,他们的表现以及他们上个月的表现。
我使用下面的查询:
SELECT
ktm.key AS keyword,
ktm.data AS `this month`,
klm.data AS `last month`
FROM
data AS ktm
LEFT JOIN data AS klm ON
(ktm.key = klm.key AND ktm.type = 'organic-keywords-this-month'
AND klm.type = 'organic-keywords-last-month')
WHERE
ktm.site_id = 2
AND klm.site_id = 2
ORDER BY
`this month` ASC
我想这应该返回11行,因为有11个行类型的“有机 - 关键词这一个月”,但当我只能运行它,它返回10行,看起来更像是内部连接表而不是左连接。
任何人有任何想法?
@ypercube,感谢上个月与本月关键字的修改。看来我不像晚上11点30分那样集中注意力:) – DRapp
这似乎是诀窍,谢谢你! – Mattamatic