看板 Database 關於我們 聯絡資訊
※ 引述《Flyingheart (where are you?)》之銘言: : 如下是一個範例的資料庫 : table 1 : COL1 COL2 : --------------------- : 1 a1 b1 //row 1 : 2 a2 b2 //row 2 : 3 a3 b3 //row 3 : 4 a4 b4 //row 4 簡單來說 就是要讓row[i]的COL1去跟row[i]&row[i+1]的COL2去做比較 不過因為row[i]的順序會隨著ORDER BY欄位而有所改變 所以請先給他一個欄位存放row[i]... 另外因為沒用過ACCESS 不確定是否支援如此的Subquery Table ============================ Row_Id Col_1 Col_2 1 5 2 2 3 4 3 4 2 4 2 1 SELECT a.* FROM Table a LEFT JOIN ( SELECT x.Row_Id, MIN(y.Row_Id) AS NextRow_Id FROM Table x LEFT JOIN Table y ON x.Row_Id < y.Row_Id GROUP BY x.Row_Id ) b ON a.Row_Id = b.Row_Id LEFT JOIN Table c ON b.NextRow_Id = c.Row_Id WHERE a.Col_1 > a.Col_2 AND a.Col_1 > c.Col_2 查詢結果為 Row_Id Col_1 Col_2 1 5 2 3 4 2 (Row[4]因為無下一欄 所以無從比較 直接被刷掉了...) 如果確定不會跳號的話 SELECT a.* FROM Table a LEFT JOIN Table b ON a.Row_Id + 1 = b.Row_Id WHERE a.Col_1 > a.Col_2 AND a.Col_1 > b.Col_2 最後希望我沒有誤會你的意思 (不過其實類似的查詢 板上好像有一大堆了...Orz) -- ◢◣ ◢◣◥████ ◢███◣ ████ ███▉█ ◢█ ◣◢ ██ ███ ◥█ ███▉█ ◢▉█ ◢██ ███ ◢██ ◢██ ███ ◥██◤ █▇▇▇◤ █▉█ █▇▇ █▇ ▉▇▇ █▉█ ██ ▉▉█▏▏◢█ ██▇◣ █▇█ ▇▇█ ██ ███ █▇█▎██ █▉▉█▏▏ rushcat -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.177.73 ※ 編輯: rushcat 來自: 60.251.177.73 (12/08 14:29)
Flyingheart:感謝 這個answer比我想像的難好多啊 12/08 15:02
Flyingheart:看來我還要多看幾本書啊 12/08 15:06
PsMonkey:主要是因為這不是 SQL 語言預設要處理的部份吧? 12/08 23:04