我縮小了我的代碼範圍,我面臨的問題是在嘗試調整某些代碼以包含更多結果時。VB6/Access SQL SELECT NOT NOT
參考數據表:
**OG_InUse**
*C_ID*
E011
E011_A
F012_D
**Csrc**
*C_ID*
E011
F012
G001
這樣的作品,但那裏是沒有的情況下返回結果的代碼 「_ *」
sSql = "SELECT DISTINCT C_ID FROM Csrc WHERE C_ID NOT IN (SELECT DISTINCT C_ID FROM OG_InUse)"
結果: F012 G001
當我試圖展開上述查詢以從OG_InUse返回C_ID的前4個字符(以移除案例s其中有一個或_A _D等):
sSql = "SELECT DISTINCT C_ID FROM Csrc WHERE C_ID NOT IN (SELECT DISTINCT Left(C_ID, 4) AS C_OG_ID FROM OG_InUse)"
,我想導致以下(但訪問只是繼續嘗試處理): G001
任何建議可能是什麼導致查詢像這樣旅行?我的第一個想法是檢查別名,但我不確定如何開始測試這個超越分解(我已經完成,我的子查詢返回正確的結果集)。
這兩個表中有多少條記錄? – grahamj42 2013-03-22 20:30:07
這是一個龐大且不斷增長的數據庫,它大約有'Csrc'表中的1000條記錄,'OG_InUse'表中有另外250,000條記錄。是的,就像你提到的那樣,相關的子查詢確實有效......對結果的每個屏幕來說都很痛苦。 – Bernard 2013-03-22 20:32:47