2017-09-05 26 views
0

我有兩種軟件(都是Java):一種是MySSQL,另一種是H2數據庫。我的問題是,在MySQL的我有這個疑問:(選擇)H2

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

但在H2扔我這個錯誤:

Subquery is not a single column query; SQL statement:

我基本上明白這是什麼意思,但我需要從X是所有值在Y和我讀到這是最有效的方式。另一種方式可以是從Y到Java對象的所有值,然後將它們放到X中,但是我知道這不是「最好的」方式。

回答

0

嘗試修改查詢以獲得單個值

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

因此,而不是3列有的話,所有的3倍的值加入

+0

這是有用的,感謝 –

+0

可能返回錯誤的結果,例如:'CONCAT(12,1,12)'會匹配'concat(12,11,2)' –

+0

這只是個想法。我們可以添加任何東西,例如'_ $$$ _'擁有'1 _ $$$ _ 2 _ $$$ _ 3' – StanislavL