討論區快速選單
知識庫快速選單
將BI融合到Excel資料分析中 手把手帶你Android開發實務
[ 回上頁 ] [ 討論區發言規則 ]
SQL 請語法高手幫忙..
更改我的閱讀文章字型大小
作者 : a0932955352(A0932955352)
[ 貼文 32 | 人氣 5022 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/5/26 上午 09:30:17
SELECT TOP 10 * FROM MONEY2 A WHERE NOT EXISTS (SELECT TOP 9 * FROM MONEY2 B WHERE A.CUSNO=B.CUSNO)
請問為何無資料?
謝謝
作者 : marlon(marlon) C#卓越專家貼文超過200則
[ 貼文 495 | 人氣 1886 | 評價 3510 | 評價/貼文 7.09 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/5/26 上午 09:54:30

>SELECT TOP 10 * FROM MONEY2 A WHERE NOT EXISTS (SELECT TOP 9 * FROM MONEY2 B WHERE A.CUSNO=B.CUSNO)
>請問為何無資料?
>謝謝
>
1.
SELECT * FROM MONEY2 A
2.
取 top 10 A
3.
SELECT * FROM MONEY2 B WHERE A.CUSNO=B.CUSNO => 每 1 筆 A 都有 1 筆 B
4.
取 top 9 B => 每 1 筆 A 還是 1 筆 B
5.
NOT EXISTS => 不符合, 因為有 1 筆
作者 : a0932955352(A0932955352)
[ 貼文 32 | 人氣 5022 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/5/26 上午 10:07:06
.可指定抓取某一筆資料
EXP:資料庫中有1,2,3,4,5,6,7,8,9,10 想抓第9筆
SELECT TOP 9 * FROM MONEY2 A WHERE NOT EXISTS (SELECT TOP 8 * FROM MONEY2 B WHERE A.CUSNO=B.CUSNO)
不知語法錯ㄇ
謝謝幫忙

作者 : marlon(marlon) C#卓越專家貼文超過200則
[ 貼文 495 | 人氣 1886 | 評價 3510 | 評價/貼文 7.09 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/5/26 上午 10:07:26
順序搞錯了, 這權才對
1.
;SELECT * FROM MONEY2 A WHERE NOT EXISTS (SELECT TOP 9 * FROM MONEY2 B WHERE A.CUSNO=B.CUSNO) => 0 筆
2.
取 TOP 10 A => 還是 0 筆

作者 : marlon(marlon) C#卓越專家貼文超過200則
[ 貼文 495 | 人氣 1886 | 評價 3510 | 評價/貼文 7.09 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/5/26 上午 10:16:33
TOP 是 SELECT 後才運算, 可以先把前 9, 8 筆 SELECT 出來分別變成一個暫存 TABLE 再下條件, 取第 N 筆
SELECT * FROM (SELECT TOP N * FROM MONEY2) A
WHERE NOT EXISTS (SELECT * FROM (SELECT TOP N-1 * FROM MONEY2) B WHERE B.CUSNO=A.CUSNO)
效能如何就不知道了

作者 : a0932955352(A0932955352)
[ 貼文 32 | 人氣 5022 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/5/26 上午 10:17:32
這樣還是無法指定單抓第9筆資料出來..
T.K.S.
作者 : marlon(marlon) C#卓越專家貼文超過200則
[ 貼文 495 | 人氣 1886 | 評價 3510 | 評價/貼文 7.09 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人a0932955352註記此篇回應為最佳解答 2011/5/26 上午 10:40:07
why not? 如果 MONEY2 資料超過指定筆數 & CUSNO 是唯一的 pk, 這樣的下法都可以取到第 n 筆的, 有圖有真像, 自己 copy 網址去看, 看不到可以 mail 給你
http://marlon.blog.ithome.com.tw/gallery/894/894-55857.jpg
作者 : a0932955352(A0932955352)
[ 貼文 32 | 人氣 5022 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/5/26 上午 11:01:20
感恩..
非常謝謝
 板主 : 徵求中
 > SQL Server 7/2000 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - SQL Server 7/2000 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
SQL Server 7/2000
1 小朱 1540 
2 小台 1520 
3 Gordon 600 
4 ㄉ一ˊㄎㄜˋ 580 
5 路人 490 
6 max 470 
7 william 410 
8 Aries 250 
9 阿利 180 
10 羅啟章 160 
SQL Server 7/2000
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875