我有一个联接查询,显示来自 2 个表的信息,但如果从其中一个表中删除记录,则不会显示联接记录。 我仍然想显示联接的记录,但显示第一个表中的数据,缺少第二个表的信息。
这是我正在使用的查询。
$result = mysql_query("SELECT user_groups.*, pricing_groups.* FROM user_groups inner join pricing_groups on user_groups.pricing_group_id = pricing_groups.id LIMIT 2,18446744073709551615")
我将其限制为 2。 我仍然希望在下一个版本中使用它。
如果删除了附加到user_groups记录的pricing_groups中的记录,则可以显示用户组信息。 实际上,我希望它显示用户组信息。 但如果反过来...如果删除了用户组,则可以不显示用户组信息或定价组信息。
要包含user_groups
中的所有记录,您需要使用如下LEFT JOIN
:
SELECT ug.*, pg.*
FROM user_groups AS ug
LEFT JOIN pricing_groups AS pg
ON ug.pricing_group_id = pg.id
LIMIT 2,18446744073709551615
LEFT JOIN
返回左表(user_groups
)中的所有行,以及右表(pricing_groups
)中的匹配行。当没有匹配项时,结果是右侧为 NULL。