Re: [INTERBASE]更新資料UPDATE

看板Database作者 (Forever H.O.T)時間17年前 (2008/06/17 10:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/8 (看更多)
※ 引述《skya0 (a0)》之銘言: : ※ 引述《skya0 (a0)》之銘言: : : 您大概是IB6或7之前的版本吧 沒有ROWS 指令 : : UPDATE TableName A SET 卡號=(SELECT DISTINCT 卡號 FROM TableName B WHERE : : A.客戶編號=B.客戶編號 AND 付款類型='1') WHERE A.付款類型= '2' : : 或 : : UPDATE TableName A SET 卡號=(SELECT 卡號 FROM TableName B WHERE : : A.客戶編號=B.客戶編號 AND 付款類型='1') WHERE A.付款類型= '2' : : 試試 : 因為Select出來的資料有多筆 所以會出現這樣的訊息 試試第二句 : SELECT DISTINCT ,只會抓出不同的卡號, : 如果每個客戶都只有一個獨立卡號的話 應該就會ok : 如果每個客戶有兩個以上的卡號 那就要先整理一下了 (我猜你是這樣的情形) : ROWS 1 的話 就會只抓第一筆 ,不過你是老舊的IB 沒這指令 : 整理的方法很多 先拷貝所需要的資料到分散到其他 table : 在更新所需要的回來 : 理論上您的需求 光靠SQL指令就可完成 真的很感謝您的回覆 我剛剛在試語法 我是發現說 我有些客戶會有好幾筆資料 都在不同的日期 所以才會發生上一篇我推文的問題嗎@@ 如果客戶在我給的日期區間中 只有單筆消費 執行的資料就正確 因為我昨天後來是將日期區間設定較大 所以資料太多筆囉 我昨天是用您的語法試的 UPDATE 消費表格A SET 卡號= (SELECT 卡號 FROM 消費表格B WHERE A.客編=B.客編 AND 類型='1') WHERE A.類型= '2' AND 日期='9706' 所以現在我得像您所說的 整理資料 或是升級到IB7 使用您第一次給的語法才行嗎 不好意思 我想再請教一個問題 UPDATE 可以跨表格嗎 因為現在的表格A只有消費的卡號跟消費的筆數 而另一個表格B有每個客戶所消費購買的明細 如果說 現在我想將表格B中有消費某物品的更改過卡號就好 比如說 客戶MARY 在當月有消費過三筆紀錄 有三個卡號 但是現在我只想將有消費過物品A的將卡號修改就好 那這樣的話 (SELECT 卡號 FROM 消費表格B WHERE A.客編=B.客編 AND 類型='1') 我該如何再加上一個條件呢 消費明細表格B 謝謝您哦 我表達的也不是很好 不好意思 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.29.66 ※ 編輯: woohyuk49 來自: 59.120.29.66 (06/17 11:53)
文章代碼(AID): #18LoR9iC (Database)
討論串 (同標題文章)
文章代碼(AID): #18LoR9iC (Database)