[問題] DataTable用來當做SQL的Table?
各位前輩好,
最近在遇到一個狀況是,
程式已經執行到從資料庫取出幾筆資料且存在一個DataTable內,
然而現在需要去資料庫裏面撈出剩下不在這張Table內的資料,
而且因為Table是用雙主鍵的方式,所以必須要同時判斷兩個欄位
舉例而言,如果我目前的狀況是:
[資料庫內資料] [已取出的DataTable]
No Version No Version
1 1 1 1
2 1 2 1
2 2 3 2
3 1
3 2
所以我需要取出的是剩餘的:
[剩下來的資料]
No Version
2 2
3 1
問題在於,已經取出的資料是在程式裡面,不是資料庫裡面的Table
而且No跟Version兩個欄位都要同時符合...
原本我是想說用NOT IN的方式,但是後來發現似乎沒辦法同時比較兩個欄位?
想了一陣子實在找不到辦法,只好發文求救了...QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.198.233
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1446995823.A.B68.html
推
11/08 23:30, , 1F
11/08 23:30, 1F
推
11/08 23:32, , 2F
11/08 23:32, 2F
→
11/08 23:32, , 3F
11/08 23:32, 3F
→
11/08 23:33, , 4F
11/08 23:33, 4F
照l大的做法可以找到符合條件的資料了,可是他會變成兩張表JOIN的全部結果
例如:
[Result]
No Version
1 1 ┐
1 1 ┘ 因為條件成立了
2 1 ┐ 所以這兩組都少了一筆沒錯
2 1 ┘
2 2 ┐
2 2 ├ 這裡因為不在B表裡面,所以有三筆
2 2 ┘
...下略
我的SQL寫法是:
SELECT A.No, A.Version
FROM A, B
WHERE NOT(A.No = B.No AND A.Version = B.Version);
我覺得剩下的這個問題好像很基本...但是我試了一下還是沒做出來QQ
另外j大提到的LINQ我有機會會再試試看的,感謝!
※ 編輯: kajm (220.133.198.233), 11/09/2015 00:22:44
推
11/09 00:20, , 5F
11/09 00:20, 5F
→
11/09 00:21, , 6F
11/09 00:21, 6F
→
11/09 01:08, , 7F
11/09 01:08, 7F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章