【发布时间】:2020-08-10 10:15:01
【问题描述】:
我希望选择两列成对的数据。
我有一个有效的 MySQL 查询:
SELECT t.whatever
FROM t
JOIN
( VALUES (val1a, val2a), (val1b, val2b), ...) AS x (col1, col2)
ON x.col1 = t.col1
AND x.col2 = t.col2 ;
但是当我尝试在带有参数的 Java 中使用它时,我无法让它工作。这是我尝试过的:
@Query(value = "SELECT t.whatever FROM t JOIN (VALUES (?1) AS x (col1, col2) ON x.col1 = t.col1 AND x.col2 = t.col2 ;", nativeQuery = true)
List<Whatever> findByPair(List<List<String>> PairString);
我收到以下错误:“x”的列多于列列表中指定的列
其中 PairString 是字符串列表的列表,例如:
[[val1a, val2a], [val1b, val2b], [val1c, val2c], [val1d, val2d]]
【问题讨论】:
-
我删除了 Microsoft SQL Server 标签 (sql-server) 并添加了 MySQL (mysql),因为您的问题只是关于 MySQL。