討論區快速選單
知識庫快速選單
傑米的攝影旅遊筆記 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
比對兩資料表A有B沒有
更改我的閱讀文章字型大小
作者 : s856223(風川吃吐司)
[ 貼文 10 | 人氣 4136 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/3/4 下午 02:53:14
初學SQL Server 指令
我有兩個資料表OM01,OM02
我要比對兩資料表的客編欄位OM01.OM1001、OM02.OM2001
挑出客編OM01有OM02沒有
請問指令如何下?
作者 : oxpretaa(阿村)
[ 貼文 8 | 人氣 491 | 評價 20 | 評價/貼文 2.5 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/3/4 下午 03:38:47
SELECT OM1001 FROM OM01
MINUS
SELECT OM1002 FROM OM02

試試看!
作者 : oxpretaa(阿村)
[ 貼文 8 | 人氣 491 | 評價 20 | 評價/貼文 2.5 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/3/4 下午 03:39:03
SELECT OM1001 FROM OM01
MINUS
SELECT OM1002 FROM OM02

試試看!
作者 : pantc328(好說) C#優秀好手貼文超過500則人氣指數超過10000點
[ 貼文 894 | 人氣 14154 | 評價 3400 | 評價/貼文 3.8 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人s856223註記此篇回應為很有道理 2008/3/4 下午 04:40:18
SELECT a.ColumnA A, b.ColumnB B
FROM TableA a
LEFT JOIN TableB b
ON a.ColumnA=b.ColumnB
WHERE B is NULL
作者 : s856223(風川吃吐司)
[ 貼文 10 | 人氣 4136 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/3/18 下午 12:31:41
不好意思!
我試了兩位樓上大大指導的指令去試
還是找不到我要的結果

我的狀況是本來
OM01.OM1001裡頭有的客編
OM02.OM2001裡頭也要有才對
現在就是發生有落差
OM01的客編紀錄有些在OM02莫名奇妙不見了

例如:
OM01
OM1001 OM1002
100001 金石洞
100002 王百貨
100003 江老闆
 :
 :

OM02
OM2001 OM2002
100001 金石洞
100003 江老闆
 :
 :
(客編100001不見了)
我要找出有哪幾個紀錄在OM02是沒有的,用客編去找(如:挑出王百貨)

感謝指導!
作者 : s856223(風川吃吐司)
[ 貼文 10 | 人氣 4136 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/3/18 下午 12:31:49
不好意思!
我試了兩位樓上大大指導的指令去試
還是找不到我要的結果

我的狀況是本來
OM01.OM1001裡頭有的客編
OM02.OM2001裡頭也要有才對
現在就是發生有落差
OM01的客編紀錄有些在OM02莫名奇妙不見了

例如:
OM01
OM1001 OM1002
100001 金石洞
100002 王百貨
100003 江老闆
 :
 :

OM02
OM2001 OM2002
100001 金石洞
100003 江老闆
 :
 :
(客編100001不見了)
我要找出有哪幾個紀錄在OM02是沒有的,用客編去找(如:挑出王百貨)

感謝指導!
作者 : oxpretaa(阿村)
[ 貼文 8 | 人氣 491 | 評價 20 | 評價/貼文 2.5 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/3/23 下午 06:43:09
提供兩種方式:
一、
SELECT A.OM1001
FROM OM01 A
WHERE A.OM1001 NOT
IN (
SELECT B.OM2001
FROM OM02 B
)

二、
select A.OM1001,A.OM1002 from (select * from OM01 A LEFT JOIN OM02 B ON A.OM1001 = B.OM2001)
WHERE B.OM2001 IS NULL


第一種較耗系統資源
第二種較佳
希望是您要的答案。
 板主 : AXNET
 > SQL Language - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - SQL Language - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
SQL Language
1 ㄉ一ˊㄎㄜˋ 1330 
2 路人 1270 
3 坤哥 700 
4 吳馨琳 460 
5 凡人 440 
6 老骨頭 390 
7 pome5 380 
8 BK. 330 
9 Tony 310 
10 HKLN.net 250 
SQL Language
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
6.152344E-02