SQLException: UCAExc:::5.0.0行列数不匹配



我有一个由java代码创建的项目,以及一个有两个表(table1和table2)的数据库。如下所示:

-------table1--------
Name      |  Ref
__________|__________
A     |  100
B     |  200
__________|__________
and 
-------table2--------
Name      |  Q
__________|__________
A     |  12
B     |  10
A     |  14
__________|__________

我试着创建一个SQL查询来得到这个结果:

Name      |  Ref    |  SUM(Q)
__________|_________|__________
A     |  100    |   26
B     |  200    |   10
__________|_________|__________

我写了这个查询

query ="SELECT table1.Name,table1.Ref FROM table1 WHERE table1.Name=(SELECT table2.Name,SUM(table2.Q) FROM table2 GROUP BY table2.Name)";

但是我的代码不工作,我得到这个错误:

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::5.0.0 row column count mismatch

有什么建议纠正我的查询代码吗?

使用

SELECT table1.Name,table1.Ref 
FROM table1 
WHERE table1.Name IN (SELECT table2.Name FROM table2)

你的子查询有两个问题。

  1. 它返回多个列,因此不适合与=IN匹配。
  2. 可能会返回多行,因此不适合与=匹配。

相关内容

  • 没有找到相关文章

最新更新