求問一個查詢SQL的寫法 |
尚未結案
|
wscski
一般會員 發表:19 回覆:38 積分:11 註冊:2002-04-15 發送簡訊給我 |
各位大大!小弟對SQL不是非常熟悉,請教一種查詢的SQL怎麼寫。
有兩個表格,一個是客戶資料表A、一個是目前服務客戶的客服人員表B 表格A
NO NAME
1 陳
2 李
3 林
4 蔡 表格B(記錄每一個客戶換過哪些客服人員)
NO SERVICE TIME(更改客服時間)
1 AAA 920101
1 BBB 920115
1 CCC 920120
2 CCC 920101
2 AAA 920118
3 AAA 920102
3 BBB 920111
3 CCC 920125
4 CCC 920105 現在我要查詢的目的是列出目前某位客服所服務的客戶有哪些
例如要查客服CCC,所以結果應該是
1 陳
3 林
4 蔡 不知道這樣的SQL要怎麼下? 感恩ㄋ!
|
rexchiu
中階會員 發表:14 回覆:88 積分:70 註冊:2002-03-17 發送簡訊給我 |
|
juneo
高階會員 發表:103 回覆:190 積分:118 註冊:2004-05-13 發送簡訊給我 |
|
wscski
一般會員 發表:19 回覆:38 積分:11 註冊:2002-04-15 發送簡訊給我 |
|
rexchiu
中階會員 發表:14 回覆:88 積分:70 註冊:2002-03-17 發送簡訊給我 |
引言: 先感謝兩位大大指點,但是結果應該不是我要的,是我沒說清楚,很抱歉喔! 我要查目前某位客服所服務的客戶有哪些,表格B中記錄每一位客戶「經歷過」哪些客服,所以要查的是「最新」的客服。 照兩位大大的SQL查出來會把客戶編號2的也查出來,雖然編號2的客戶有被CCC服務過,但是最新的紀錄是AAA,所以該筆記錄不算。 總之就是每一位客戶都會「經歷」過好幾位客服,也許1位、也許好幾位,要查的是「最新」的。 這樣不知道有沒有說明清楚? 再次感謝兩位大大喔! 希望能再次指點我嗯,因為你最新的條件不夠清楚, 1 CCC 920120 2 CCC 920101 3 CCC 920125 4 CCC 920105 看一下,何謂最新? 你給的答案是 1,3,4他們分別的時間是920120,920125,920105 我的疑問是既然920105也算最新滴,為何920101不是最新的? 因此你提問的條件要夠清楚 例如說,假設,最新的定義是,小於目前時間三天的資料 這樣就可以在where 後面再加上time的條件 select a.no,a.name from a,b where b.service='CCC' and b.no=a.no and datediff(day,getdate(),cast(b.time as datetime))<=3 ps.1 getdate()取得目前的時間 2.cast(b.TIME as datetime) 將你資料表B 欄位TIME轉換成日期時間型態 3.datediff()這是MS-SQL提供的funciton 可以計算二個時間的差異. 上例,是要求計算目前時間與B.TIME的時間差異的天數. Best Regards, Rex Chiu
------
Best Regards, Rex Chiu |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi wscski, 假設同一時間每個客戶只有一個客服人員,亦即 service + time 在 TableB 為 Unique
SELECT * FROM TABLE2 B, TABLE1 A WHERE B.NO = A.NO AND B.TIME = (SELECT MAX(TIME) FROM TABLE2 B1 WHERE B1.SERVICE = B.SERVICE) AND A.NO = :P_NO---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
juneo
高階會員 發表:103 回覆:190 積分:118 註冊:2004-05-13 發送簡訊給我 |
如果只是單純要求出最新的,用排序就可以找出你要的
例如:排序 取出筆數 SELECT *
FROM account
ORDER BY acc_number DESC 語法:ORDER BY 欄位 DESC
ASC 遞增
DESC 遞減 另外提供給你Sql指令與用法
http://netlab.cse.yzu.edu.tw/~statue/cfc/docs/mysqldoc_big5/manual_toc.html 看看文件你應該會更清楚知道該怎麼寫語法
不是我不將整各語法寫給你,而是希望給你一根釣竿 自然就是寫程式最好的方式,
分享比獲得更快樂--Juneo
|
wscski
一般會員 發表:19 回覆:38 積分:11 註冊:2002-04-15 發送簡訊給我 |
|
wscski
一般會員 發表:19 回覆:38 積分:11 註冊:2002-04-15 發送簡訊給我 |
|
Brian77
中階會員 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
|
wscski
一般會員 發表:19 回覆:38 積分:11 註冊:2002-04-15 發送簡訊給我 |
|
Brian77
中階會員 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |