2013-07-03 104 views
0

我对这个网站和SQL一般都不熟悉。我希望你能帮上忙。我创建了以下SQL查询。我现在想创建一个新表并将查询结果传送到这个新表中。基于SELECT语句结果创建表

是否可以将语法添加到以下查询中以自动创建表格?


SELECT 
    Value [Value], 
     DateTime [DateTime], 
      DatePart (Week, DateTime) [WeekNumber], 
       hs.StorageItemID [StorageItemId] 

FROM History_StorageItem hs 

    JOIN History_Float hf ON hs.StorageItemId = hf.StorageItemId 

GROUP BY DatePart (Week,DateTime), hs.StorageItemId, Value 
ORDER BY hs.StorageItemId DESC 

另外,关于为DateTime这个查询的结果被返回YYYY-MM-DD HH:MM:SS ......是否有可能从所述下降时间结果我的查询和数据被添加到我的表中的值就是“Date”。

我真的很感谢你的支持,因为我有限的SQL知识只能让我走到目前为止。

谢谢。

+2

您正在使用哪种RDBMS? MS SQL Server,MySQL等? –

+0

SQL标准将是'create table foo as select ...' –

回答

1

答案可能因RDBMS而异。您可以使用INTOSELECT结果创建一个表,你可以施放DATETIMEDATE

SELECT 
    Value [Value], 
     CAST (DateTime AS DATE) [DateTime], 
      DatePart (Week, DateTime) [WeekNumber], 
       hs.StorageItemID [StorageItemId] 
INTO newTable 
FROM History_StorageItem hs 

    JOIN History_Float hf ON hs.StorageItemId = hf.StorageItemId 

GROUP BY DatePart (Week,DateTime), hs.StorageItemId, Value 
ORDER BY hs.StorageItemId DESC 
+0

非常感谢您的帮助。它实现了一个梦想 – user2547340

0

确保你可以INTO子句前选择直接从

SELECT Value [Value], DateTime [DateTime], DatePart (Week, DateTime) [WeekNumber], hs.StorageItemID [StorageItemId] 
INTO [TABLENAME] 
FROM History_StorageItem hs 

JOIN History_Float hf ON hs.StorageItemId = hf.StorageItemId 
GROUP BY DatePart (Week,DateTime), hs.StorageItemId, Value ORDER BY hs.StorageItemId DESC 

我建议你这些教程

http://www.w3schools.com/sql/sql_select_into.asp

0
create table YOURTABLENAME AS 
SELECT 
    Value [Value], 
     DateTime [DateTime], 
      DatePart (Week, DateTime) [WeekNumber], 
       hs.StorageItemID [StorageItemId] 

FROM History_StorageItem hs 

    JOIN History_Float hf ON hs.StorageItemId = hf.StorageItemId 

GROUP BY DatePart (Week,DateTime), hs.StorageItemId, Value 
ORDER BY hs.StorageItemId DESC 
0

在另一方面,如果你想创建一个视图,而不是一个表,你可以做这样的事情:

CREATE VIEW [newView] AS 
SELECT 
Value [Value], 
    DateTime [DateTime], 
     DatePart (Week, DateTime) [WeekNumber], 
      hs.StorageItemID [StorageItemId] 
FROM History_StorageItem hs 
JOIN History_Float hf ON hs.StorageItemId = hf.StorageItemId 
GROUP BY DatePart (Week,DateTime), hs.StorageItemId, Value