【问题标题】:SQL query using INNER JOIN is excluding some database records where the field value is MP使用 INNER JOIN 的 SQL 查询排除了一些字段值为 MP 的数据库记录
【发布时间】:2020-08-21 18:59:11
【问题描述】:

我有这个 SQL 查询:

SELECT [Public Talk Titles].*, [Public Talk Categories].Description AS [Category Description]
FROM [Public Talk Categories] 
INNER JOIN [Public Talk Titles] ON [Public Talk Categories].Category = [Public Talk Titles].Category
ORDER BY [Public Talk Titles].[Talk Number];

它可以工作,但是当 Category 的值为 MP 时它不喜欢它。从数据库中删除类别为该值的所有数据库行。我正在使用带有 MDB 文件的 Microsoft Access 2016。

如果我将类别从 MP 更改为其他内容,例如两个表中的 XX 并运行我的查询,它会按预期工作并显示所有记录。

所以这与这个 MP 值有关。感谢您的帮助。

【问题讨论】:

  • 您确定两个表中的 MP 值完全相同吗?如果您尝试使用 LIKE %..% 而不是 = 作为连接条件会怎样?
  • @AndreiXwe 您正在做某事。如果我编辑其中一个字段并将其更改为其他内容,然后返回 MP(从值的下拉列表中),则该记录将显示在查询结果中。
  • 那么只要确保字符串完全相同,在插入之前尝试修剪它们
  • 如果您尝试在这些列上运行更新怎么办? UPDATE table SET column = 'MP' where column LIKE '%MP%' 之类的东西?
  • np,然后我将其作为答案发布

标签: sql jet


【解决方案1】:

确保两个表中的值 MP 完全相同,尝试修剪字符串并再次插入或运行类似UPDATE table SET column = 'MP' where column LIKE '%MP%'的内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多