mySQL'NOT IN'到vfp等价值

时间:2013-01-23 07:39:02

标签: mysql foxpro visual-foxpro

我想知道什么VFP9相当于mySQL'NOT IN'。

为了给你准确的目的。我有两个表,我想显示table1中的所有数字,这些数字在table2中没有任何出现。

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 个答案:

答案 0 :(得分:3)

请尝试LEFT JOIN

SELECT t1.*
FROM table1 AS t1
LEFT JOIN table2 AS t2 ON t1.row1 = t2.row2
WHERE t1.row1 IS NULL;

答案 1 :(得分:1)

试试这个:

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

我相信你的Table1和Table2是一个游标,

答案 2 :(得分:0)

添马舰的评论是正确的。尝试运行以下代码:

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) 

工作正常。

答案 3 :(得分:-1)

我创建了Table1和Table2,其值与您完全相同 我执行了SELECT * FROM table1 WHERE table1.row1 NOT IN (SELECT row2 FROM table2)
结果是1 5 6 7 10.
代码是对的,结果也是。