如何在vb6中使用sql在具有多列比较的两个不同表上创建contains方法
我的数据库中有Table1.column1和Table1.column2,还有另外一个Table2.column1和Table2.column2,我想得到在Table2.column1和Table2.column2中找不到Table1.column1和Table1.column2值的结果如何在vb6中使用sql在具有多列比较的两个不同表上创建contains方法,sql,vb6,comparison,contains,Sql,Vb6,Comparison,Contains,我的数据库中有Table1.column1和Table1.column2,还有另外一个Table2.column1和Table2.column2,我想得到在Table2.column1和Table2.column2中找不到Table1.column1和Table1.column2值的结果 Table1 Table2 ------------------------ ------------------------ sid sn
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类。每个项目,如玻璃、冰箱等,都可以包含这些类别中的任何一个,因此我的结果中不应该存在表2的任何组合
我想用sql查询来实现这一点,如下所示:
SELECT *
FROM area1 AS table1,
(SELECT * FROM area2 WHERE blablabla..) AS table2
WHERE table1.SNAME = table2.RNAME
AND table1.sclass <> table2.rclass
你需要一个左连接
SELECT sid, sname, sclass
FROM table1
LEFT JOIN table2
ON table1.sname=table2.rname
AND table1.sclass=table2.rclass
WHERE rid is null