[英]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 minutes
, 0.008 minutes
和0.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.