台灣最大程式設計社群網站
線上人數
991
 
會員總數:246088
討論主題:189663
歡迎您免費加入會員
討論區列表 >> MS SQL >> [SQL]請問SQL語法
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[SQL]請問SQL語法
價值 : 0 QP  點閱數:1778 回應數:6
樓主

JEFF
初學者
146 36
134 70
發送站內信

請問一下
我有二個資料表T1,T2
T1 schema,資料如下
userid  GroupName
A0001  社會人士
A0006  學生
A0008  學生
A004   社會人士
A002   學生

T2 schema,資料如下
userid  UserName
A0001  張大千
A0002  李四
A0004  蕭逸楓
A0008  李先生
A0006  張太太

問題如下
如今我欲將屬於社會人士的人員選擇出來
並且有人員的姓名,
但是因為T1的"A004"
在T2是"A0004"
如此用JOIN的方式
勢必無法得到
"蕭逸楓"
請問一下
如果在SQL裡面下判斷
如果是A004替換成A0004
若是A0001則不用變動
不知道這樣問的方式
可以明白??
謝謝各位

本篇文章發表於2002-06-03 12:16
1樓
回應

Eddie
檢舉此回應
什麼情況下會存成T1的A004丫???
本篇文章回覆於2002-06-03 13:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
看起來怪怪地, 何不將
T1 schema,資料如下
userid  GroupName
A004   社會人士
直接改為
A0004   社會人士

這樣應該就好了
本篇文章回覆於2002-06-03 13:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

sql_man
檢舉此回應
這應該是你資料結構的問題
要有關連性當然資料不可沒規則
要是你的T1中有A004也有A0004時
那你怎麼去分辨
本篇文章回覆於2002-06-03 16:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

JEFF
檢舉此回應
資料表會產生
A004
而不是
A0004
是因為當初客戶的資料庫問題
所以我也不能更新
之前有查到
SQL語法中有
類似
CASE
的語法
只是不知道該如何下
本篇文章回覆於2002-06-03 22:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

JEFF
檢舉此回應
另外在解釋一下
T1的Userid
假如有
A004
則該資料表不會有
A0004
也就是說
號碼是累加的
因為有二個系統會使用到這個資料表
也就是說
有一個系統
用到的Userid為AXXXXX
共有6位數
另外一個系統使用AXXXX
5位數



本篇文章回覆於2002-06-03 23:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

阿利
檢舉此回應
只要 T1 是 A004 , T2 就一定是 A0004 ??
那若是      A999 , T2 就一定是 A0999 ??
如果是這樣的話 ,還是可 以 join 的方式來辦到...

select * from t1 a inner join t2 b on left(t1.userid,1)=left(t2,userid,1) 
and substring(t1.userid,2,len(t1.userid)-1)=substring(t2.userid,3,len(t2.userid)-2)

http://www.cu29.sytes.net/討論區/board/board_title.asp?board_id=3
本篇文章回覆於2002-06-04 01:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.