最终结果是我想从查询中创建一个文件,然后我可以使用该文件执行另一个dB的导入操作。我有产品编号(ITEM_NO),可以有两个关联的条码(BARCOD)。我想,以确保由TABLE_2提供的条形码是不是已经在TABLE_1(因为有时有)在选择之前检查现有数据
TABLE_1(现有的条形码)
ITEM_NO | BARCOD
-----------------
001 | A
001 | B
002 | C
003 | E
003 | F
004 | G
005 | I
TABLE_2(新条形码)
ITEM_NO | BARCOD
-----------------
001 | B
002 | D
003 | F
004 | H
005 | J
所以我想要的输出文件将是
ITEM_NO | BARCOD
-----------------
002 | D
004 | H
005 | J
有关起点,我有:
SELECT TABLE_1.ITEM_NO, TABLE_2.ITEM_NO, TABLE_1.BARCOD, TABLE_2.BARCOD
FROM TABLE_2 INNER JOIN TABLE_1 ON TABLE_2.ITEM_NO=TABLE_1.ITEM_NO
WHERE TABLE_1.BARCOD<>TABLE_2.BARCOD
ORDER BY TABLE_1.ITEM_NO
但是,这并不工作,因为它比较行1表1对行1和表2,看到的是BARCODs是不同的,其包含在查询..假阳性我想我正在寻找的是一种从子查询创建字符串的方式,如STRING_TEMP [1] = [A,B](请原谅我如何显示此内容,不知道适当的约定是什么),所以字符串基于TABLE_1.ITEM_NO的值,然后检查以查看该字符串是否包含TABLE_2.BARCOD的值其中TABLE_2.ITEM = TABLE_1.ITEM
希望这是足够的信息来描绘我清晰的图片试图做...感谢adnavce提供的任何帮助,
Jordie FIKE
www.kittyhawk.com
这是把我在正确的道路上的一个,我离开了,只有沿着其中TABLE_1.ITEM_NO = TABLE_2.ITEM_NO(所以在我的例子中添加进来BARCODS行6 | L和7 | N,并且由于T1中不存在6或7,所以我们丢弃那些行) 这是我做了什么 SELECT DISTINCT TABLE_2.ITEM_NO,TABLE_2.BARCOD,TABLE_1.ITEM_NO FROM TABLE_2 INNER JOIN TABLE_1 ON TABLE_2.ITEM_NO = TABLE_1.ITEM_NO WHERE TABLE_2.BARCOD NOT IN (SELECT TABLE_1.BARCOD FROM TABLE_1) ORDER BY TABLE_2.ITEM_NO; 抱歉,无法格式化评论 – user2596059