>백엔드 개발 >PHP 튜토리얼 >三表连接查询解决思路

三表连接查询解决思路

WBOY
WBOY원래의
2016-06-13 10:07:021075검색

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

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

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

还请高手 指点一下。

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

问题如下。

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

CSS code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT * , SUM( b.nums ) AS addsums, SUM( c.nums ) AS clicksumsFROM dx_app_info aINNER JOIN  `dx_app_add_count` bINNER  JOIN  `dx_app_click_count` c ON a.app_id = b.app_idAND a.app_id = c.app_idWHERE 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 是尽量要避免的
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.