我有一个连接查询,显示 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。我仍然希望在下一个版本中如此。
如果删除了pricing_groups中附加到user_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。
关于php - 如何使用连接编写mysql查询并在删除一个表中的记录时仍然显示部分信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19909593/