2017-07-28 77 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

你必須在子查詢中使用別名,因爲你用你的