我正在尝试对存在值的大表进行重复数据删除,但会分成几行。
例如:
表1:Client_Code,帐号#,名字和姓氏,地址。
表2:Client_Code,帐号#,名字和姓氏,地址,TAX_ID。
现在我想做的事情在这一点上看起来非常明显。
我希望我的结果从表1中提取到新表中,并且查询为“从表1中选择,表1中的客户端代码和帐户#与表2中的客户端代码和帐户#匹配” TAble 2填充了所有值,表1包含除TAX ID之外的所有值。
我试过的代码看起来像这样。
CREATE TABLE Dedupe_1 AS SELECT * FROM `TABLE 1`
WHERE `TABLE 1`.`Client_Code`=`TABLE 2`.`Client_Code`
AND
WHERE `TABLE 1`.`account#`=`TABLE 2`.`account#`
ORDER BY `TABLE 2`.`account#`
我一直收到语法错误。我对这种编程语言很陌生,所以如果这个问题很难理解我会道歉。
我只是觉得我可以通过简单地使用'WHERE'语句来调用另一个表中的字段。
答案 0 :(得分:0)
您可能希望使用Join来连接两个表。您可以在两个表中使用公共列来表示Join语句。常用语法如
SELECT table1.column1, table2.column 2 and as many you want in common table
FROM table1 name
INNER JOIN table2 name
ON table1.commoncolumn=table2.Common column;
您可以了解有关加入here的更多信息。
答案 1 :(得分:0)
我想你想使用exists
条款:
CREATE TABLE Dedupe_1 AS
SELECT *
FROM `TABLE 1` t1
WHERE EXISTS (select 1
from table2 t2
where t2.Client_Code = t1.Client_Code and t2.`account#` = t1.`account#`
);