全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:783
推到 Plurk!
推到 Facebook!

关于sql语句问题

尚未結案
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-11 12:02:57 IP:218.19.xxx.xxx 未訂閱
小弟现在有两个table: table1(存放员工的部门,姓名,员工编号) Department Name Employee_No ... ... 12345 ... ... ... table2(存放员工打卡时间,其中Department,Name两个field 为空) Department Name Employee_No Date Time 12345 ... ... ... ... ... 请教前辈,我现在希望在table2中插入Employee_No在table1中所对应的Department和Name,请问怎样去做?谢谢!
Tony-Tang
一般會員


發表:7
回覆:17
積分:9
註冊:2003-10-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-11 12:12:39 IP:211.21.xxx.xxx 未訂閱
Update table2 Set Department=B.Department,Name=B.Name
From 
table2 A Left Join table1 B On A.Employee_No=B.Employee_No
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-11 12:25:59 IP:202.62.xxx.xxx 未訂閱
您好﹗    Update Table2 a, Table1 b Set a.Department = b.Department, a.Name = b.Name Where a.Employee_No = b.Employee_No    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-12 11:45:42 IP:218.20.xxx.xxx 未訂閱
hi,cashxin2002 我按照你的sql语句的方式书写: update ":hr:gsw2.db" a,":hr:gsw5.db" b set a.Department=b.Department, a.Name=b.Name where a.Employee_No="000" b.Employee_No; 会出现错误,怎么回事,请指教!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-12 11:52:19 IP:202.62.xxx.xxx 未訂閱
引言: hi,cashxin2002 我按照你的sql语句的方式书写: update ":hr:gsw2.db" a,":hr:gsw5.db" b set a.Department=b.Department, a.Name=b.Name where a.Employee_No="000"+b.Employee_No; 会出现错误,怎么回事,请指教!
您好﹗ :hr:gsw2.db和:hr:gsw5.db是正确的資料表名稱嗎﹖ a.Employee_No=b.Employee_No是關聯資料表的作用﹐不知您在里面加上"000"的用意﹖ 出錯信息是什么﹖ ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-12 12:05:41 IP:218.20.xxx.xxx 未訂閱
:hr:gsw2.db和:hr:gsw5.db是这样的,前面的insert,update都是这样书写的,没有问题 出现的错误是:"invalid use of keyword,Token:,":hr:gsw5.db".... 我想是在“:hr:gsw2.db" a,":hr:gsw5.db" b" 这个地方出错了。。 加上“000”是因为,比如说gsw2中的Employee_No是“00012345” 而gsw5中的Employee_No是“12345”。 请指教。
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-12 13:33:51 IP:202.62.xxx.xxx 未訂閱
您好﹗    這句錯誤信息是指在SQL語句中使用到關鍵字了﹒ 試試這樣﹕ ADOQuery1.SQL.Add('update [:hr:gsw2.db] a, [:hr:gsw5.db] b set a.Department=b.Department, a.Name=b.Name where a.Employee_No="000"+b.Employee_No');    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-12 13:44:45 IP:218.20.xxx.xxx 未訂閱
dm.Table2.Active:=true; dm.table5.active:=true; with dm.Query3 do begin close; sql.Clear; sql.Text:='update [:hr:gsw2.db] a,[:hr:gsw5.db] b set a.Department=b.Department,a.Name=b.Name '; sql.Append('where a.Employee_No="000" b.Employee_No'); prepare; execsql; end; 依然会报错“invalid use of keyword ,token:[?......."
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-03-12 14:18:30 IP:218.20.xxx.xxx 未訂閱
sql.Text:='update ":hr:gsw2.db" a set a.Department=(select Department from ":hr:gsw5.db" b '; sql.Append('where a.Employee_No="000" b.Employee_No),a.Name=(select Name from ":hr:gsw5.db" b'); sql.Append('where a.Employee_No="000" b.Employee_No),a.Type=(select Type from ":hr:gsw5.db" b'); sql.Append('where a.Employee_No="000" b.Employee_No)'); 用这种方式解决问题了,我觉得update的对象table只能为1个,你认为呢?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-03-16 08:54:36 IP:210.65.xxx.xxx 未訂閱
Hi liangzai,    In Oracle :
UPDATE  TABLE2 T2
SET     (T2.DEPARTMENT,T2.NAME) = (SELECT T1.DEPARTMENT,T1.NAME FROM TABLE1 T1 WHERE T1.EMPLOYEE_NO = T2.EMPLOYEE.NO)
AND     EXISTS (SELECT T1.EMPLOYEE_NO FROM TABLE1 T1 WHERE T1.EMPLOYEE_NO = T2.EMPLOYEE.NO)
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-05-20 15:19:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!