上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
nkjc
註冊時間: 2004-08-06 文章: 5
第 1 樓
|
發表於: 星期五 八月 06, 2004 10:28 pm 文章主題: SQL指令問題 |
|
|
我有一個table裡面有五個欄位
p001 分機號碼
p002 開始撥打電話時間
p003 結束撥打電話時間
p004 撥打的電話號碼
p005 撥打的總時間
問題是這樣的:
我希望知道我撥打的電話號碼中(p004)哪一通電話號碼前面是002或005開頭而且總劃分鍾(p005)是最多的
然後將這個電話號碼紀錄下來,最後希望得到符合這個號碼的4個欄位:
1.撥出的號碼
2.這個號碼撥出的總時間
3.在資料庫中第一次撥打這隻號碼是什麼時候
4.再資料庫中最後一物撥打這隻號碼是什麼時候
希望大家能告訴我這4的欄位要如何利用sql指令得到結果
謝謝大家 |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2158
第 2 樓
|
發表於: 星期五 八月 06, 2004 11:51 pm 文章主題: |
|
|
select * from mytable where p004 in (select top 1 p004,sum( p005) as totime from mytable group by p004 order by totime) order by p002 into cursor telalldata
go top
? 'first time:',p002
go bott
? 'last time:',p002
sum p005 to totaltime
? totaltime _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
nkjc
註冊時間: 2004-08-06 文章: 5
第 3 樓
|
發表於: 星期六 八月 07, 2004 12:15 am 文章主題: |
|
|
不好意思我執行的時候出現錯誤
關鍵字 'into' 附近的語法不正確
不知道是哪裡錯了
再麻煩您一下 |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2158
第 4 樓
|
發表於: 星期六 八月 07, 2004 12:28 am 文章主題: |
|
|
mssql Server 就不用加上這一句了" into cursor telalldata" _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
nkjc
註冊時間: 2004-08-06 文章: 5
第 5 樓
|
發表於: 星期六 八月 07, 2004 8:20 am 文章主題: |
|
|
不好意思還是出現錯誤:
當子查詢並未由 EXISTS 導入時,只能在選取清單中指定一個運算式。
請您再指導一下
謝謝您 |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2158
第 6 樓
|
發表於: 星期六 八月 07, 2004 10:24 am 文章主題: |
|
|
一行SQL指令不行, 那就改成二行
select top 1 p004,sum( p005) as totime from mytable group by p004 order by totime
mp004 = p004
select * from mytable where p004=?mp004 order by p002 _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
nkjc
註冊時間: 2004-08-06 文章: 5
第 7 樓
|
發表於: 星期六 八月 07, 2004 11:19 am 文章主題: |
|
|
很像還是出現依樣的錯誤訊息耶
可以麻煩您把指令再重新寫一次
只寫指令的部分不用寫備註的部分
謝謝您 |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2158
第 8 樓
|
發表於: 星期六 八月 07, 2004 3:09 pm 文章主題: |
|
|
第三次回答你的問題前, 我自己已經模擬過你的狀況了, 所以這幾行指令是沒問題的, 或許是你的p005資料型態不為數值型態, 另外你該不會連 mytable 這個字也照抄吧, 這個字要改成你的table檔名才對. 所以如果還是出錯, 那就無法再幫忙你了. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
goto-dream
註冊時間: 2004-05-11 文章: 909
第 9 樓
|
|
回頂端 |
|
|
Dragon
註冊時間: 2004-09-24 文章: 3
第 10 樓
|
發表於: 星期五 九月 24, 2004 3:00 pm 文章主題: 一步一步來 |
|
|
1.撥出的號碼
2.這個號碼撥出的總時間
3.在資料庫中第一次撥打這隻號碼是什麼時候
4.再資料庫中最後一物撥打這隻號碼是什麼時候
====>
select p004,sum(p005),min(p002),max(p002) from tablename group by p004
電話號碼中(p004)哪一通電話號碼前面是002或005開頭
===>
select p004,sum(p005),min(p002),max(p002) from tablename group by p004 having left(p004,3) in ('002','005')
總劃分鍾(p005)是最多
====>
select p004,sum(p005),min(p002),max(p002) from tablename group by p004 having left(p004,3) in ('002','005') order by sum(p005) desc |
|
回頂端 |
|
|
|