Re: [INTERBASE]更新資料UPDATE

看板Database作者 (a0)時間17年前 (2008/06/16 22:58), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/8 (看更多)
※ 引述《skya0 (a0)》之銘言: : ※ 引述《skya0 (a0)》之銘言: : : UPDATE TableName A SET 卡號=(SELECT 卡號 FROM TableName B WHERE : : A.客戶編號=B.客戶編號 AND 付款類型='1' ROWS 1) WHERE A.付款類型= '2' : 您大概是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指令就可完成 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.52.38
文章代碼(AID): #18Ld-6ge (Database)
討論串 (同標題文章)
文章代碼(AID): #18Ld-6ge (Database)