繁体   English   中英

将已解析的数据从一个数据库插入另一个数据库

[英]Inserting parsed data from one database into another

以下查询从现有数据库中提取特定数据:

SELECT (
   SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'File Name') AS File_Name,
  (SELECT AttributeData FROM SQLTable WHERE AttributeName = 'Version Number') AS Version,
  (SELECT 'Category Name') AS Category,
   CAST(LEFT((SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'), 
   CHARINDEX('m', (SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'),1 )-2) AS float) AS Value,
   GETDATE() AS Date
FROM SQLTable2
GROUP BY FinalDisposition

UNION

SELECT (
   SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'File Name') AS File_Name,
  (SELECT AttributeData FROM SQLTable WHERE AttributeName = 'Version Number') AS Version,
  (SELECT 'Category Name') AS Category,
   CAST(LEFT((SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'), 
   CHARINDEX('m', (SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'),1 )-2) AS float) AS Value,
   GETDATE() AS Date
FROM SQLTable2
GROUP BY FinalDisposition

UNION

SELECT (
   SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'File Name') AS File_Name,
  (SELECT AttributeData FROM SQLTable WHERE AttributeName = 'Version Number') AS Version,
  (SELECT 'Category Name') AS Category,
   CAST(LEFT((SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'), 
   CHARINDEX('m', (SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'),1 )-2) AS float) AS Value,
   GETDATE() AS Date
FROM SQLTable2
GROUP BY FinalDisposition

这将创建一个如下表:

| File_Name | Version |  Category  | Value |           Date          |
|:---------:|:-------:|:----------:|:-----:|:-----------------------:|
| File1     | 1.0.1   | Duration 1 |  0.04 | 2017-04-17 12:00:00.000 |
| File2     | 1.0.1   | Duration 2 | 0.008 | 2017-04-17 12:00:00.000 |
| File3     | 1.0.1   | Duration 3 | 0.066 | 2017-04-17 12:00:00.000 |

附带说明一下,该值具有“额外”位的原因是因为原始数据的格式如下: 0.04 minutes0.008 minutes0.066 minutes 我想摆脱几分钟,成为浮标。

如何将数据插入到另一个表中(我已经拥有与要插入该表的列格式相同的表)。

换句话说,我如何将这些信息移动到如下的插入语句中:

INSERT INTO [Database].dbo.SQLTable3(File_Name,Version,Category,Value,Date)
    INSERT INTO SQLTable3
    SELECT *
    FROM(   

            SELECT (
               SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'File Name') AS File_Name,
              (SELECT AttributeData FROM SQLTable WHERE AttributeName = 'Version Number') AS Version,
              (SELECT 'Category Name') AS Category,
               CAST(LEFT((SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'), 
               CHARINDEX('m', (SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'),1 )-2) AS float) AS Value,
               GETDATE() AS Date
            FROM SQLTable2
            GROUP BY FinalDisposition

            UNION

            SELECT (
               SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'File Name') AS File_Name,
              (SELECT AttributeData FROM SQLTable WHERE AttributeName = 'Version Number') AS Version,
              (SELECT 'Category Name') AS Category,
               CAST(LEFT((SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'), 
               CHARINDEX('m', (SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'),1 )-2) AS float) AS Value,
               GETDATE() AS Date
            FROM SQLTable2
            GROUP BY FinalDisposition

            UNION

            SELECT (
               SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'File Name') AS File_Name,
              (SELECT AttributeData FROM SQLTable WHERE AttributeName = 'Version Number') AS Version,
              (SELECT 'Category Name') AS Category,
               CAST(LEFT((SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'), 
               CHARINDEX('m', (SELECT AttributeData FROM SQLTable1 WHERE AttributeName = 'Duration 1'),1 )-2) AS float) AS Value,
               GETDATE() AS Date
            FROM SQLTable2
            GROUP BY FinalDisposition)X

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM