【问题标题】:How do I lookup a value in a table and insert it into another table?如何在表中查找值并将其插入到另一个表中?
【发布时间】:2011-08-13 01:55:02
【问题描述】:

下面的 SQL 从表中选择不同的行并将它们插入到第三个表中。它工作正常。

我想将第三列 (STID) 插入到目标表中。在 SourceData 表中,有一个列名 STFP。我需要在第三个表 STS 表中查找 STFP 的值,并获取 STID 的值。如何获得 STID 的值?

INSERT INTO DestinationTable(CTYFP, CTYNAME)
SELECT DISTINCT CTYFP , CTYNAME
FROM SourceData

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    只需加入另一个表:

    INSERT INTO DestinationTable (CTYFP, CTYNAME, STFP)
    SELECT DISTINCT sd.CTYFP, sd.CTYNAME, STS.STFP
    FROM SourceData sd
    JOIN STS on SIS.STID = sd.STID;
    

    注意:您的问题没有发布表列名称,所以我猜到了。您可能需要调整以适合您的实际列名。

    【讨论】:

    • 在发布之前,我尝试了几次,但我的加入没有成功。我不确定我做错了什么,但您的解决方案有效。谢谢!
    【解决方案2】:

    如果我理解你,这应该有效:

    INSERT INTO DestinationTable(CTYFP, CTYNAME, STID)
    SELECT DISTINCT SourceData.CTYFP , SourceData.CTYNAME, STS.STID
    FROM SourceData
        INNER JOIN STS ON SourceData.STFP = STS.STFP
    

    【讨论】:

      【解决方案3】:
      INSERT INTO DestinationTable(CTYFP, CTYNAME, STFP)
      SELECT DISTINCT CTYFP , CTYNAME, STFP
      FROM SourceData INNER JOIN ThirdTable on SourceData.Id = ThirdTable.SomeKey
      

      【讨论】:

        猜你喜欢
        • 2021-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-25
        • 1970-01-01
        • 1970-01-01
        • 2012-03-06
        相关资源
        最近更新 更多