Where()in(select)H2

时间:2017-09-05 13:33:23

标签: java mysql h2

我有两种软件(都是Java):一种是MySSQL,另一种是H2数据库。我的问题是在MySQL中我有这个查询:

Select * from X where (1,2,3) in (select 4,5,6 from Y)

但是在H2中给我这个错误:

  

子查询不是单列查询; SQL语句:

我基本上理解这是什么意思,但我需要从Y中选择所有Y值,我读到这是最有效的方法。另一种方式可以是将所有值从Y指向Java对象,然后将它们放入X中,但我知道这不是"最好的"这样做的方式

2 个答案:

答案 0 :(得分:2)

尝试将查询修改为具有单个值

Select * from X where CONCAT(1,2,3) in (select CONCAT(4,5,6) from Y)

因此,不是3列,而是有一列,其中所有3列值都已连接

答案 1 :(得分:0)

FYI版本1.4.200现在似乎支持此功能