Java 插入时混合参数化查询和子查询

Java 插入时混合参数化查询和子查询,java,sql,sybase,Java,Sql,Sybase,我有一位同事想尝试以下查询: INSERT INTO table (ColumnA, ColumnB, ColumnC) VALUES (?, (SELECT Id FROM ColumnD WHERE x=y), ?) Sybase对此表示不满,因为它似乎不允许在查询的值部分使用子查询。有人知道解决这个问题的方法吗?怎么样: INSERT INTO table (ColumnA, ColumnB, ColumnC) SELECT ?, Id, ? FROM TableD WH

我有一位同事想尝试以下查询:

INSERT INTO table (ColumnA, ColumnB, ColumnC)
VALUES (?, (SELECT Id FROM ColumnD WHERE x=y), ?)
Sybase对此表示不满,因为它似乎不允许在查询的值部分使用子查询。有人知道解决这个问题的方法吗?

怎么样:

INSERT INTO table (ColumnA, ColumnB, ColumnC)
SELECT
  ?,
  Id,
  ?
FROM
  TableD
WHERE
  x = y
(或类似)