2017-07-28 76 views
-1

我会尝试更新一个表,如下所示:最多一个记录可以通过这个子查询返回 - 更新查询

UPDATE T_Payment 
SET Payment_Group_No = ? 
WHERE (T_Payment.Payment_Type_no = 
         (SELECT T_Payment_type.Payment_type_no 
         FROM T_Payment_type 
         WHERE T_Payment_type.Payment_Group_No = ?)) 
         AND (Payment_Date BETWEEN ? AND ?) 

注:选择查询将返回多个值。

+0

更新同桌只需改变'WHERE'平等'='为'IN'。 – Parfait

+0

数据库意义上的访问非常有限。如果这是一个生产系统,我强烈建议尽快迁移它。这将是一个痛苦,但它会为你节省很多像这样的头痛。加上您的稳定性和可靠性将显着提高。 – Shawn

+0

另外,你的提示和你的问题标题说两个不同的东西。 WHERE子查询是否返回多个结果?如果是这样,请更新标题。 – Shawn

回答

0

你必须在子查询中使用别名,因为你用你的