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

三表连接查询解决思路

WBOY
풀어 주다: 2016-06-13 10:07:02
원래의
1073명이 탐색했습니다.

三表连接查询
三个表中 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 是尽量要避免的
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿