我的数据库中有(Table1.column1 和 Table1.column2)和另一个(Table2.column1 和 Table2.column2),我想得到结果,其中(Table1.column1 和 Table1.column2)值在(Table2.column1 和 Table2 中找不到) .column2)?
Table1 Table2
------------------------ ------------------------
sid sname sclass rid rname rclass
------------------------ ------------------------
| 1 | glass | a class | | 1 | glass | b class |
| 2 | glass | c class | | 2 | glass | c class |
| 3 | ice | a class | | 3 | ice | b class |
| 4 | ice | b class | | 4 | ice | c class |
| 5 | fridge | a class | | 5 | fridge | a class |
| 5 | fridge | b class | | 5 | fridge | c class |
------------------------ ------------------------
结果应该是:
Result Table
------------------------
sid sname sclass
------------------------
| 1 | glass | a class |
| 3 | ice | a class |
| 5 | fridge | b class |
------------------------
正如我上面提到的,这类似于 contains 方法,但我将在 VB6 中使用这个 SQL 字符串。
有 a、b 和 c 类。每个项目(例如玻璃、冰箱等)都可以包含这些类中的任何一个,因此我的结果中不应存在 table2 的任何组合。
我想用 sql 查询来做到这一点,就像:
SELECT *
FROM area1 AS table1,
(SELECT * FROM area2 WHERE blablabla..) AS table2
WHERE table1.SNAME = table2.RNAME
AND table1.sclass <> table2.rclass