MySQL 数据库查询返回空结果

Posted

技术标签:

【中文标题】MySQL 数据库查询返回空结果【英文标题】:MySQL database query returns empty result 【发布时间】:2012-10-21 22:48:33 【问题描述】:

我正在进行数据迁移,并通过一次连接获得简单查询的空结果。以下是查询

Select * from users u INNER JOIN temp_users tu ON tu.uid = u.uid

两个表中有数百条具有相同uid的记录,但此查询仅返回一条记录。

以下是表格的结构

users table
uid:  varchar(50)   utf8_general_ci         Yes     NULL 

temp_users table
uid: varchar(50)    utf8_general_ci         Yes     NULL

【问题讨论】:

可能你只有一个匹配的记录。 尝试左连接而不是内连接 如果您确定应该有匹配项,请从您的表中发布一些数据... 是的。从您认为应该加入但未加入的每个表中发布至少一行的数据。 我怀疑你在其他地方有问题......不是查询。如果两个表中确实有一些具有相同 id 的行,则必须得到结果 【参考方案1】:

试试这个..

Select * from users u INNER JOIN temp_users tu ON trim(upper(tu.uid)) = trim(upper(u.uid));

可能没有匹配的 id b/w 表格.. 确认使用..

Select u.id,tu.id from users u LEFT JOIN temp_users tu ON trim(upper(tu.uid)) = trim(upper(u.uid));

【讨论】:

左连接正在给出结果。这意味着它们不匹配,但是当我在 users 表上搜索它们时它存在。 @user1791096:问题是 temp_users 表中没有相同的 uid 记录 我通过在 temp_users 表中搜索记录来检查它。它们在那里,但是当我使用 JOIN 时,我没有显示结果。甚至子查询也没有给出结果。我该怎么办 ??? mysql我也重启过很多次了,还是不行。 我尝试匹配的用户 ID 采用以下格式:66b69e14-5452-4f40-8fef-ffff9245da7e。 无论如何,根据给定的示例,它们应该匹配.. OP 必须从表中发布一些数据。

以上是关于MySQL 数据库查询返回空结果的主要内容,如果未能解决你的问题,请参考以下文章

踩坑记录Mysql查询使用group_concat函数后,如果查询无结果,仍会返回一条空数据

踩坑记录Mysql查询使用group_concat函数后,如果查询无结果,仍会返回一条空数据

查询返回空结果但数据存在

Javers 查询返回空结果

如果选择查询返回空结果,请在 mysql 中运行另一个选择查询

sql 查询时有空值返回0怎么写