Java 查询内部查询到1查询postgresql

Java 查询内部查询到1查询postgresql,java,postgresql,serialization,Java,Postgresql,Serialization,我有一个这样的问题 UPDATE FOLLOWUP F SET CUSTOMER=(SELECT NAME FROM CUSTOMERS C WHERE F.CUST_ID=C.ID), PHONE=(SELECT SEARCHKEY FROM CUSTOMERS C WHERE F.CUST_ID=C.ID); 这在我的postgresql中成功运行,但在java中没有运行 还有我的java函数 for (final TicketLineInfo l : ticket.getLines())

我有一个这样的问题

UPDATE FOLLOWUP F SET CUSTOMER=(SELECT NAME FROM CUSTOMERS C WHERE F.CUST_ID=C.ID), PHONE=(SELECT SEARCHKEY FROM CUSTOMERS C WHERE F.CUST_ID=C.ID);
这在我的postgresql中成功运行,但在java中没有运行

还有我的java函数

for (final TicketLineInfo l : ticket.getLines())
    if(l.getConsumption()!= 0.0 && l.getMultiply()!=l.getConsumption()) {            
        new PreparedSentence(s
                , "UPDATE FOLLOWUP F SET CUSTOMER=(SELECT NAME FROM CUSTOMERS C WHERE F.CUST_ID=?), PHONE=(SELECT SEARCHKEY FROM CUSTOMERS C WHERE F.CUST_ID=?);"
                , SerializerWriteParams.INSTANCE
                ).exec(new DataParams() { public void writeValues() throws BasicException {
                        setString(1, ticket.getCustomerId());
                        setString(2, ticket.getCustomerId());
                }});
                 }
当我运行这个

我得到的错误如下:

com.openbravo.basic.BasicException: 
org.postgresql.util.PSQLException: ERROR: more than one row returned by a subquery used as an expression

org.postgresql.util.PSQLException: 
ERROR: more than one row returned by a subquery used as an expression

我的问题是如何将上面的查询转换为一个没有子查询的查询。。因此,我可以避免此异常并继续执行,或者是否有任何其他序列化程序支持此

看起来您的查询中不需要子查询:

update FOLLOWUP as F set
    Name = c.Name,
    Phone = c.SearchKey
from CUSTOMERS as c
where
    F.Cust_ID = C.ID and
    F.Cust_ID = ?