2017-07-28 3 views
-1

私は次のように1つのテーブルを更新しようとするでしょう:最大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

に更新されたサブクエリでエイリアス名を使用する必要があります。 – Parfait

+0

データベースの意味でのアクセスは非常に制限されています。これがプロダクションシステムの場合はできるだけ早く移行することを強くお勧めします。それは痛みですが、それはあなたにこのような頭痛のトンを保存します。さらに、安定性と信頼性が大幅に向上します。 – Shawn

+0

また、あなたのメモとあなたの質問のタイトルは、2つの異なることを言います。 WHEREサブクエリは複数の結果を返しますか?もしそうなら、タイトルを更新してください。 – Shawn

答えて

0

あなたが同じテーブルを使用しているので、あなたは、単にIN` `に` WHERE`平等 `=`を変更

関連する問題