日期:2014-05-17  浏览次数:20456 次

三表连接查询
三个表中 a b c

我在连接时,必须以a表为基表,写一个查询语句,但是我不知道怎样写,

现在的问题是:如果A表对应的ID在其它表里没有,就会造成查询失败。

还请高手 指点一下。

下面两条SQL语句,其中一条是前程序员留下来的。
后一条是我修改的。
但是都存在问题。

问题如下。

这个是上程序员留下来的。
CSS code


SELECT * , SUM( b.nums ) AS addsums, SUM( c.nums ) AS clicksums
FROM dx_app_info a
INNER JOIN  `dx_app_add_count` b
INNER  JOIN  `dx_app_click_count` c ON a.app_id = b.app_id
AND a.app_id = c.app_id
WHERE app_name LIKE  '%人体生物钟在线查询%'
GROUP BY a.app_id




他的问题是,如是b 或者 c 没有对应的ID就会造成查询失败,这个结果是我不想看到的。






SELECT * , SUM( b.nums ) AS addsums, SUM( c.nums ) AS clicksums
FROM dx_app_info a
INNER JOIN `dx_app_add_count` b
LEFT[color=#00FF00][/color] JOIN `dx_app_click_count` c ON a.app_id = b.app_id
AND a.app_id = c.app_id
WHERE app_name LIKE '%人体生物钟在线查询%'
GROUP BY a.app_id
LIMIT 0 , 20

这个是我修改的SQL语句,
可以查询出来,但是执行时间特的长,让人无法接受。

------解决方案--------------------
呵呵 好吧 心领了
------解决方案--------------------
我也是人...
------解决方案--------------------
有LIKE 是尽量要避免的