0

我有一个显示来自 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 中的记录,则可以显示用户组信息。事实上,我希望它显示用户组信息。但是如果反过来……如果删除了用户组,则可以不显示用户组信息或定价组信息。

4

1 回答 1

2

要包含您的所有记录,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。

于 2013-11-11T15:13:03.397 回答