CREATE SQL VIEW V_ARRAY AS SELE SAL_BJLIST.*;
  FROM CMADE!SAL_BJLIST INNER JOIN CMADE!FILELIST ON (UPPER(ALLTRIM(SAL_BJLIST.報價單號))+"報價明細")==(ALLTRIM(UPPER(FILELIST.關鍵字))+UPPER(ALLTRIM(FILELIST.文件類別)));
  WHERE UPPER(ALLTRIM(FILELIST.核準狀況))=="Y" .AND. SUBSTR(ALLTRIM(UPPER(SAL_BJLIST.報價單號)),1,LEN(PARTNO))==PARTNO;
  .AND. (UPPER(ALLTRIM(FILELIST.確認狀況))<>"Y" .OR. UPPER(ALLTRIM(FILELIST.確認狀況))="N" .OR. EMPTY(FILELIST.確認狀況)=.T.);
  ORDER BY SAL_BJLIST.報價單號

注:PARTNO的變量我都是一樣的賦值,長度大小及大小寫完全和表單運行一樣,但我把以上的這一段代碼從表單用"復制"然后"粘上"的方式放在命令窗口執行,結果沒有記錄,但是在表單中執行,用表格顯示時,是有兩條記錄的! 這個鬼SQL語句倒底是怎麼回事?鬱悶之极!

PS:數據源為離線視圖.我將離線視圖通過COPY的方法將其轉成DBF的表后,再執行以上的SQL語句,執行的結果為正確.

SQL語句對數據源有什麼要求呢?煩請各位狐友告知.