0

我想将 2 个我的 sql 表与 4 个约束(例如名字、姓氏、dob 和地址)进行比较。如果某些记录匹配,我想将其保存在新表中。

我使用此查询比较了 2 个具有 1 个约束的表

  SELECT * FROM t1 WHERE t1.dob IN (SELECT t2.dob from t2)

是否有任何查询可以完成这项工作?任何帮助将不胜感激。

Table 1 

First Name  Varchar
Last  Name  Varchar
Dob         Date
Address     varchar
Email       Varchar
City        Varchar
Country     Varchar


Table2

First Name  Varchar
Last  Name  Varchar
Dob         Date
Address     varchar

如果这些表中的记录匹配,我想将第三个表中的以下详细信息保存为

Table3
First Name  Varchar
Last  Name  Varchar
Dob         Date
Address     varchar
Email       Varchar
City        Varchar
Country     Varchar
4

2 回答 2

0

您可以使用连接

 INSERT INTO Table3 SELECT t1.First_Name,
t1.Last_Name,
t1.Dob  ,     
t1.Address   ,
t1.Email    , 
t1.City  ,    
t1.Country   
 FROM t1 inner join t2 on t1.dob=t2.dob
于 2013-08-27T11:17:25.463 回答
0

以下代码应该为您解决问题:

insert into table3
(`first Name`, `last Name`, DOB, Address, Email, City, Country)
values
(select
    t1.`first Name`,
    t1.`last Name`,
    t1.DOB,
    t1.Address,
    t1.Email,
    t1.City,
    t1.Country
from
    `table 1` t1
        join `Table 2` t2
            on t1.DOB=t2.DOB)

但是你也可以阅读我写的关于 SQL的这篇文章,这篇文章比这个片段更详细,并试图详细解释连接和其他函数的许多概念。

于 2013-08-27T11:22:59.840 回答