全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1057
推到 Plurk!
推到 Facebook!

判斷區間號碼是否已存在另一區間號碼

尚未結案
danajn
一般會員


發表:14
回覆:29
積分:8
註冊:2002-08-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-07 11:16:58 IP:211.75.xxx.xxx 未訂閱
在sql中如果介斷此筆資料的區間號碼是否已存在另一筆資料的區間號碼中 單號 起號 迄號 A001 100 200 A002 90 201 上述情況是不可存在的...是否可以用一個sql就判斷出來...
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-07 11:36:45 IP:63.84.xxx.xxx 未訂閱
您好!    Select * From 資料表名稱 Where 起號>100 and 迄號<200 如果不确定起號和迄號的值可在100和200的位置上用子查詢來代替! 參考看看! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-07 11:44:44 IP:61.220.xxx.xxx 未訂閱
是同一個TABLE嗎? select a.* from xxx a where 0=0 and a.單號 = 'A001' AND a.起號 > (SELECT b.起號 FROM XXX b WHERE 0=0 AND b.單號 ='A002') AND a.迄號 < (SELECT b.迄號 FROM XXX b WHERE 0=0 AND b.單號 ='A002') 大致上是這個方向 我沒有試 你可以參考看看 ps: 1:select出來是有資料的 表示A001的區間在A002的區間裡面 2:XXX表示同一個TABLE名稱 天行健 君子當自強不息~~@.@ 發表人 - T.J.B 於 2003/10/07 11:50:30 發表人 - T.J.B 於 2003/10/07 11:53:30 發表人 - T.J.B 於 2003/10/07 11:57:36
------
天行健
君子當自強不息~~@.@
danajn
一般會員


發表:14
回覆:29
積分:8
註冊:2002-08-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-07 17:12:10 IP:211.75.xxx.xxx 未訂閱
T.J.B 您好... 若 A001 80 250 結果會是錯的... 是否還需要加上其他的條件...THX..
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-07 18:09:01 IP:61.220.xxx.xxx 未訂閱
引言: T.J.B 您好... 若 A001 80 250 結果會是錯的... 是否還需要加上其他的條件...THX..
不懂你的意思ㄝ 什麼叫做(結果會是錯的)???? 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-03 23:57:36 IP:203.204.xxx.xxx 未訂閱
引言: 在sql中如果介斷此筆資料的區間號碼是否已存在另一筆資料的區間號碼中 單號 起號 迄號 A001 100 200 A002 90 201 上述情況是不可存在的...是否可以用一個sql就判斷出來...
danajn 你好 試試這個 Select a.* From TableName a , TabelName b Where Not (a.起號 > b.迄號 or a.迄號< b.起號) And Not (a.單號=b.單號 And a.起號=b.起號 and a.迄號=b.迄號) 紅色部份表示代表起迄沒重疊,加個Not 表示有重疊 綠色部份則避開同一筆記錄的比對
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-07-05 14:19:20 IP:218.170.xxx.xxx 未訂閱
danajn 你好:    參考看看:
select * from [TableName] a
where exists
( select * from [TableName] b where b.單號<>a.單號 and (a.起號 between b.起號 and b.迄號) 
  and (a.迄號 between b.起號 and b.迄號) )
系統時間:2024-07-02 23:07:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!