mysql - 如何使此 SQL 查询起作用以防止出现 "subquery returned more than one row"错误?

标签 mysql sql ms-access

我有两个数据表,其中包含来自两家不同公司的声音。我想做的是检查一张表中的发票是否在另一张表中。最终我会想要隔离在一个表中而不在另一个表中的那些以及在两个表中的那些,以便我可以将它们加起来。我尝试了下面的查询来开始隔离过程,但我不断收到错误“子查询返回多于一行”。我怎样才能实现这一目标?附带问题,microsoft access 使用的是传统 SQL 还是 Microsoft 自己的版本?

我的查询代码:

 SELECT *
 FROM finance_recon
 WHERE (
 SELECT invoice_num FROM finance_recon) in
 (SELECT invoice_num FROM finance_accounts_payable) 

最佳答案

试试这样怎么样:

 SELECT *
 FROM finance_recon
 WHERE invoice_num IN
     (SELECT invoice_num FROM finance_accounts_payable)

至于你的附带问题,Microsoft Access 使用 Microsoft Access SQL,但他们很友好地提出了 a page describing the differences with ANSI SQL .

关于mysql - 如何使此 SQL 查询起作用以防止出现 "subquery returned more than one row"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25321672/

相关文章:

c# - 如何使用c#将数据添加到mysql中的指定列

sql - 将 Access SQL 查询转换为 SqlServer

php - 无法将图像上传到 mySQL 数据库 (JSON/Volley/PHP)

python - 如何在Python中将字符串值调用到sql查询中

mysql - 如何在 AJAX 中迭代一组数据库结果

mysql - 如何使用案例陈述

mysql - 返回数据库中的第 N 个单词

mysql - LEFT JOIN 不返回空值,也不返回 MySQL 中预期的记录量

sql - 基本 SQL 子查询

database - 微软 Access : programmatically rename columns