SELECT *
FROM traffic,alexat,bindx,blink
WHERE traffic.web = alexat.web
AND traffic.web = bindx.web
AND traffic.web = blink.web
AND traffic.web="mysql_real_escape_string($web)"
当我搜索google.com并且如果一个或任何表没有任何与google.com相关的数据时,则整个结果将返回空。但如果所有表格都有关于google.com的数据,那么它会毫无问题地返回。我该如何解决这个问题?即使只有一个表有数据,我也希望得到结果。
答案 0 :(得分:1)
您需要使用LEFT OUTER JOIN
。
这样的事情:
SELECT *
FROM traffic LEFT OUTER JOIN alexat USING (web)
LEFT OUTER JOIN bindx USING (web)
LEFT OUTER JOIN blink USING (web)
WHERE traffic.web="mysql_real_escape_string($web)"
答案 1 :(得分:0)
您需要外部联接。请查看http://en.wikipedia.org/wiki/Join_(SQL)
上的各种选项