2013-04-03 68 views
1

我正在尝试编写一个CREATE TABLE SQL,它从子查询(基本Select和Aggregate MAX函数)中提取其列和数据。我已经测试了自己的子查询,它工作正常,但是一旦我把它放到CREATE TABLE MapData AS中......它就出错了。有什么建议?或者这在MS Access中甚至不可能?作为MS Jet CREATE TABLE语句的输入的子查询

感谢, 斯泰西

回答

1

访问SQL的CREATE TABLE Statement不提供你的样子,我想什么。改为考虑SELECT…INTO

一个很简单的例子...

SELECT 
    fld1, 
    fld2, 
    etc 
INTO NewTable 
FROM OldTableOrQuery; 

如果碰上这种做法的麻烦,我们展示了从要创建一个表的查询。同时,这里就是你可能会发现有用的另一个例子......

SELECT 
    sub.FacNo, 
    sub.QualRating AS Qrate, 
    sub.MaxOfSqFeet AS sqFeet 
INTO MapData 
FROM 
    (
     SELECT FACNO, QualRating, MAX(SqFeet) AS MaxOfSqFeet 
     FROM April_2_ISR_report 
     GROUP BY FACNO, QualRating 
    ) AS sub; 
+0

HansUp, 是否INTO表需要预先存在,或者将SQL创建它? – Stacy 2013-04-03 18:57:33

+0

该声明将创建表格。如果一个同名的表已经存在,我认为它会抛出一个错误。但是你应该在这一点上检查我。 – HansUp 2013-04-03 18:58:56

+0

我恨这样做 - 感觉我应该自己动手并学习,但是我已经绕了一个多小时。我试过了,表不是预先存在的,它在FROM子句中是错误的。下面是我的sql: – Stacy 2013-04-03 19:00:47

相关问题