討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
由a資料表來來刪除b資料表中多餘的資料
更改我的閱讀文章字型大小
作者 : ivan73222(ivan)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/9/13 上午 09:49:55
請教各位先進:

我的問題是我的a資料表s_id的欄位有2,4,5,6,8而我的b資料表s_id的欄位有1,2,3,4,5,6,7,8,9,10如何以a資料表的s_id的欄位為主將b資料表中多餘的資料刪除,煩請各位先進不吝賜教。

我資料庫的語法只會新增、修改、刪除這幾個簡單的指令,依我自己的做法是將a和b資料表的s_id取出後存在陣列中在進行比對將不符合的資料給予刪除。而這個動作是否可以直接以資料庫的語法去動作。我的資料庫是用sqlite。
作者 : player(PLAYER) 貼文超過1000則人氣指數超過100000點
[ 貼文 1591 | 人氣 138661 | 評價 2840 | 評價/貼文 1.79 | 送出評價 104 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人ivan73222註記此篇回應為最佳解答 2011/10/13 下午 08:07:31
sqlite? 不熟
我用 ms sql server的語法, 你自己試看看能不能用? 實驗前請記得先備份, 以防萬一

delete from b資料表
where s_id in (
   select b.s_id from b資料表 as b where b.s_id not in ( select a.s_id from a資料表 as a)
)

原理是先取a資料表的s_id
再把b資料表找出s_id不相符的
做為b資料表的刪除條件
作者 : ivan73222(ivan)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/14 上午 09:38:04
感謝 PLAYER大大的回應:
SQLITE的語法和一般的SQL用法都可通用。
 板主 : 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-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125