php - 如何使用连接编写mysql查询并在删除一个表中的记录时仍然显示部分信息?

标签 php mysql sql sql-server join

我有一个连接查询,显示 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/

相关文章:

php - 只有部分 PHP 表单变量被插入到 MySQL 表中

php - 使用 PHP 将两个/多个图像上传到 MySQL

mysql - 将多个参数传递给sql函数

mysql - 如何根据排序顺序百分位数进行分类/评分

sql - 数据库设计问题

php - 如何创建 joomla 2.5 组件?

php - 为什么 trait 不覆盖类中的方法?

php - mysql在单个查询中进行多次计数

mysql - 如何在 MySQL 中保留行计数器

SQL Server : join records in same table against each other