下面的查詢是直接從現有數據庫的具體數據:插入解析從一個數據庫中的數據到另一個
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語句是這樣的:
INSERT INTO [Database].dbo.SQLTable3(File_Name,Version,Category,Value,Date)
您是否嘗試過在你的查詢的頂部添加此插入行? – McNets
好吧...你可以把它放到一個#temp表中,然後做一個簡單的'INSERT INTO ... SELECT ... FROM ...'我說使用臨時表,因爲你從其他服務器拉。 – scsimon
如果您將第二行添加到SQLTable或SQLTable1,這將因爲您的子查詢將返回多於一行而中斷。 –