3

mySQL 'NOT IN' に相当する VFP9 を知りたいです。

あなたに正確な目的を与えるため。2 つのテーブルがあり、table2 には出現しないすべての数値を table1 に表示したいと考えています。

TABLE1
 1
 2
 3
 4
 5
 6
 7
 8
 9
 10

TABLE 2
 2
 3
 4
 8
 9

RESULT:
 1
 5
 6
 7
 10

私のmySQLコードは次のように書かれています:

SELECT * FROM table1 WHERE table1.row1 NOT IN (SELECT row2 FROM table2)

現在、このコードは vfp9 で実行されません。認識しなかったNOTか、コードに欠陥があるようです。何か案が。

4

4 に答える 4

3

LEFT JOIN代わりに試してください:

SELECT t1.*
FROM table1 AS t1
LEFT JOIN table2 AS t2 ON t1.row1 = t2.row2
WHERE t1.row1 IS NULL;
于 2013-01-23T07:46:35.843 に答える
1

これを試して:

SELECT * FROM Table1 Right JOIN table2 on Table1.row1 = Table2.row2 WHERE Table1.row1 is not null

あなたの Table1 と Table2 はカーソルだと思いますが、

于 2013-01-23T07:51:19.763 に答える
0

Tamar のコメントは正しいです。次のコードを実行してみてください。

CREATE CURSOR table1 (row1 i)
CREATE CURSOR table2 (row2 i)
SELECT table1
FOR x=1 TO 10
    APPEND BLANK
    replace row1 WITH x
ENDFOR
SELECT table2
APPEND BLANK
replace row2 WITH 2
APPEND BLANK
replace row2 WITH 3
APPEND BLANK
replace row2 WITH 4
APPEND BLANK
replace row2 WITH 8
APPEND BLANK
replace row2 WITH 9
SELECT * FROM table1 WHERE table1.row1 NOT IN (SELECT row2 FROM table2) 

それは正常に動作します。

于 2013-01-24T02:54:52.390 に答える
-1

あなたとまったく同じ値で Table1 と Table2 を作成しました。
実行し ましSELECT * FROM table1 WHERE table1.row1 NOT IN (SELECT row2 FROM table2)
た 結果は 1 5 6 7 10です。
コードは正しく、結果も同様です。

于 2013-03-01T07:32:24.140 に答える