首页 > 解决方案 > SQL从第一个表插入第二个表值,pk=fk不起作用

问题描述

这是我的两个表的结构:

公司信息

Id
Website (Move to CompanyDetail table)
Company

公司详情

Id
CompanyInfoId(FK_PK)
Address
Country
Website (New Field)

我添加了WebsiteCompanyDetail,现在需要将所有网站条目移动CompanyInfoCompanyInfo.Id = ComanyDetail.CompanyInfoId

示例数据:

公司信息

1,www.google.com, Google
2,www.yahoo.com, Yahoo
3,www.microsoft.com, Microsoft

公司详情

1,1,adman street, www.google.com
2,1,adman street, www.google.com
3,1,adman street, www.google.com
4,2,yahoo street, www.microsoft.com

我正在尝试这个类似的查询,但有些问题。

insert into CompanyDetail (Website) 
    select Website 
    from CompanyInfo 
    where CompanyInfo.Id = CompanyDetail.ComanyDetailId 

谁能帮我解决这个问题?谢谢

标签: sqlsql-server

解决方案


看起来您需要进行更新而不是插入。

UPDATE  cd
SET     Website = c.Website
FROM    CompanyDetail AS cd
        INNER JOIN Company AS c ON c.ID = cd.CompanyDetailID;

推荐阅读