線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:903
推到 Plurk!
推到 Facebook!

請問這個問題的SQL怎麼寫?

尚未結案
kartan_01
一般會員


發表:42
回覆:60
積分:20
註冊:2004-12-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-15 14:32:21 IP:61.221.xxx.xxx 未訂閱
TABLE(NO,code,sumary,seq) 在相同的NO下會有不同的code,sumary,seq EX: NO code sumary seq 94041501 1111 TEST1 1 94041501 2113 TEST2 2 94041501 2110 TEST3 3 94041502 1111 TESTA 1 94041502 2113 TESTB 2 94041503 2110 TESTI 1 請問要如何select出 code 有2113 但是沒有2110 的NO 以例子來說就是找出94041502 我只想到比較慢的寫法 select no from table where no not in (select distinct no from table where code='2110') 不知道有沒有其他寫法?
yu_blake
一般會員


發表:0
回覆:23
積分:14
註冊:2003-01-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-15 16:08:48 IP:218.163.xxx.xxx 未訂閱
hi 您好.    如果是寫這樣的話
 select no from table where no not in (select distinct no from table where code='2110')
那麼 如果資料庫資料如下 94041501 1111 TEST1 1 94041501 2113 TEST2 2 94041501 2110 TEST3 3 94041502 1111 TESTA 1 94041502 2113 TESTB 2 94041503 1111 TESTA 1 會同時select出 94041502 與 94041503 這兩筆 但 94041503 並不包含2113 如下的SQL應該可以獲得正確結果
select distinct no from table 
where no not in (select distinct no from table where code='2110')
and code='2113'
hope helpful.
jimmy_wei
高階會員


發表:9
回覆:176
積分:147
註冊:2003-08-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-15 16:16:25 IP:210.68.xxx.xxx 未訂閱
kartan_01你好:    這樣理論上會快一點.... 但是你的NO, CODE要有INDEX才會快    
SELECT A.NO FROM 
(   
  SELECT DISTINCT NO FROM TABLE WHERE CODE = '2113'
) A,
(
  SELECT DISTINCT NO FROM TABLE WHERE CODE = '2110'
) B
WHERE A.NO = B.NO( )
AND B.NO IS NULL
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-18 09:03:39 IP:210.65.xxx.xxx 未訂閱
Sorry !! 插一下花    也可以這樣寫
select  distinct
        no
from    table t
where   exists (select  *
                from    table t1
                where   t1.no = t.no
                and     t1.code = '2113')
and     not exists (select  *
                    from    table t2
                    where   t2.no = t.no
                    and     t2.code = '2110')
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-06-29 16:16:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!