我是PHP新手。我有一个SQL查询。我使用INNER Join。我面临一些问题。如果任何单个空白字段为空,则不显示其他字段的任何数据。
这是我的查询
df3 =
quality1 quality2 value
A D 1
E 10
F 100
B D 2
E 20
F 200
C D 3
E 30
F 300
答案 0 :(得分:1)
因此,您有LEFT JOIN
(或某些特殊情况下为RIGHT JOIN
)。 LEFT JOIN
只选择指定的第一个表中的所有表,并使用NULL
填充其他表中的字段 - 其中未找到任何条目。
只需将INNER JOIN
替换为LEFT JOIN
。
答案 1 :(得分:1)
将INNER JOIN
替换为LEFT JOIN
$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
LEFT JOIN og_companies c
ON r.client_id = c.id
LEFT JOIN og_rating_types t
ON r.rating_type_id = t.id
LEFT JOIN og_actions a
ON r.pacra_action = a.id
LEFT JOIN og_outlooks o
ON r.pacra_outlook = o.id
LEFT JOIN og_lterms l
ON r.pacra_lterm = l.id
LEFT JOIN og_sterms s
ON r.pacra_sterm = s.id
WHERE c.id= '$id2'
ORDER BY r.id DESC
LIMIT 1 ";