Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL脚本从另一个表中输入数据,并在源表中创建一列以链接另一个表_Sql - Fatal编程技术网

SQL脚本从另一个表中输入数据,并在源表中创建一列以链接另一个表

SQL脚本从另一个表中输入数据,并在源表中创建一列以链接另一个表,sql,Sql,我有一个已经有数据的表 Table -> Address: AddressID, Address 1, Address 2, email etc... Table -> Branches: BranchesID, StoreName, Address 1, Address 2 现在我需要一个脚本,它可以将所有数据从Branchs表复制到Address表,并在Branchs中创建一个列,该列具有新复制数据的AddressID,以便我可以使用Address表引用Branchs地址 请

我有一个已经有数据的表

Table -> Address:
AddressID, Address 1, Address 2, email etc...

Table -> Branches:
BranchesID, StoreName, Address 1, Address 2
现在我需要一个脚本,它可以将所有数据从Branchs表复制到Address表,并在Branchs中创建一个列,该列具有新复制数据的AddressID,以便我可以使用Address表引用Branchs地址

请帮忙

到目前为止,我已经尝试了这么多

INSERT Address1, Address2, City, ZipCode)
OUTPUT AddressID
INTO Addresses
SELECT Address1, Address2
FROM Baranches;
但我不知道如何将新创建的记录ID从地址表插入Braches表


tahnks

首先需要将
AddressId
字段添加到
分支中。我不知道您使用的是什么RDBMS,因此这里是MSSQL的一个示例,但它应该适用于所有RDBMS,但需要做一些更改:

ALTER TABLE BRANCHES ADD AddressID bigint;
然后将
分支
中的地址插入
地址
表中。我猜
AddressId
是自动递增的PK<此查询中的code>WHERE
语句允许避免地址重复

insert into ADDRESS (Address1, Address2)
select Address1, Address2 
    from BRANCHES 
      where 
       not exists(select AddressID 
                        from ADDRESS 
                        where Address1=BRANCHES.Address1
                              and 
                              Address2=BRANCHES.Address2 ) 
现在我们应该在分支中填写
AddressID
字段:

update BRANCHES SET AddressId=(select TOP 1 AddressId from Address where 
                                   Address1=BRANCHES.Address1
                                    and 
                                   Address2=BRANCHES.Address2 )

我需要创建一个具有AddressID的列。我需要将所有数据从Branchs表复制到address表,并需要这些AddressId这正是我要找的。谢谢,老兄…我会在某个时候尝试一下,如果需要任何更改,请告诉你