1

这应该不会太难,但我是 SQL 的初学者。

我有两张表,都有很多字段,但重要的是它们都有一个名为 CODE 的字段。该字段 CODE 有数字,但数据类型为 Text。

表 1 包含“吨”的 CODE 值。表 2 包含“适量”的 CODE 值。需要注意的是,如果在 Table2 中找到了 CODE 值,那么它肯定在 Table1 中。

我想做的是创建一个查询,该查询创建一个表,其中列出了 Table1 中而不是 Table2 中的所有 CODE 值。

4

3 回答 3

2
SELECT Table1.CODE
FROM Table1 
LEFT OUTER JOIN Table2 ON Table1.CODE = Table2.CODE
WHERE Table2.CODE IS NULL

正如所指出的,如果要将其添加到全新的表中,而不是简单地查询结果,请使用SELECT ... INTO

SELECT Table1.CODE
INTO Table3
FROM Table1 
LEFT OUTER JOIN Table2 ON Table1.CODE = Table2.CODE
WHERE Table2.CODE IS NULL
于 2012-08-07T18:36:11.867 回答
1
SELECT 
   t1.code
INTO
   new_table
FROM
   table1 t1
LEFT OUTER JOIN
   table2 t2
ON
   t1.code = t2.code
WHERE 
   t2.code is null

请尝试一下。

于 2012-08-07T18:37:09.413 回答
1

试试这个...编辑所以创建了一个带有值的新表

SELECT T1.Code
  INTO new_table
  FROM Table1 T1
 wHERE T1.Code NOT IN (SELECT T2.Code
                         FROM Table1 T2)

你也可以用LEFT JOIN,但我更喜欢NOT IN

于 2012-08-07T18:38:29.167 回答