請問這個問題的SQL怎麼寫? |
尚未結案
|
kartan_01
一般會員 發表:42 回覆:60 積分:20 註冊:2004-12-08 發送簡訊給我 |
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 發送簡訊給我 |
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 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
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 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |