【发布时间】:2015-07-22 12:03:59
【问题描述】:
我是 PHP 新手。我有一个 sql 查询。我使用内部连接。我面临一些问题。如果有任何一个空白字段为空,则不显示其他字段的任何数据。
这是我的查询
$sql= "SELECT r.client_id,c.id,t.id,a.id,o.id,c.name as cname,t.title as ttitle,a.title as atitle,o.title as otitle, l.title as ltitle
FROM og_ratings r
INNER JOIN og_companies c
ON r.client_id = c.id
INNER JOIN og_rating_types t
ON r.rating_type_id = t.id
INNER JOIN og_actions a
ON r.pacra_action = a.id
INNER JOIN og_outlooks o
ON r.pacra_outlook = o.id
INNER JOIN og_lterms l
ON r.pacra_lterm = l.id
INNER JOIN og_sterms s
ON r.pacra_sterm = s.id
WHERE c.id= '$id2'
ORDER BY r.id DESC
LIMIT 1 ";
【问题讨论】:
-
将所有
inner join替换为left join并将og_companies放在列表的首位,这样您就可以保留所有公司。 -
当然.. 内连接只会在每个表上获取具有相似列值的数据。在您的情况下使用左连接或右连接
标签: php mysql join inner-join