将数据从一个表附加到另一个表

时间:2015-02-09 03:43:14

标签: sql-server tsql

您好,并提前感谢您的意见。我有一个名为CRIMDATA的数据库。在那两个名为CRIM_PRODUCTION的表中,另一个名为ABBREV。在CRIM_PRODUCTION中,有一列包含各种状态缩写的数据,分别包含_fl和_ga,用于嵌入到字符串中的所有50个状态,如images / broward_fl / 12345.jpg,在一个名为IMAGES的列中。

在ABBREV表格中有一个名为SCORE的列,它包含所有50个州的缩写(_fl,_ga等)和一个邮政缩写列,该列名称为STATE,并且有正确的缩写,如FL和GA对于那些带下划线的缩写。

我想要做的是生成一个脚本,该脚本在CRIM_PRODUCTION IMAGES列中出现所有数据时找到并匹配,在ABBREV SCORE列上匹配,并从相应的STATE列中获取数据并将其复制到CRIM_PRODUCTION表并将其放入名为SOURCESTATE的CRIM_PRODUCTION表中的另一列。

感谢所有人...

1 个答案:

答案 0 :(得分:0)

表名和列名不可读。

像这样检查,

SELECT STATE
FROM CRIM_PRODUCTION P
INNER JOIN ABBREV A ON P.IMAGES LIKE '%' + A.SCORE + '%'

然后你可以尝试这样,

MERGE CRIM_PRODUCTION AS TRG
USING (
    SELECT [STATE]
    FROM ABBREV
    ) AS SRC
    ON SRC.IMAGES LIKE '%' + TRG.SCORE + '%'
WHEN MATCHED
    THEN
        UPDATE
        SET SOURCESTATE = SRC.[STATE];