2013-04-03 2 views
1

Я пытаюсь написать sql CREATE TABLE, который вытаскивает свои столбцы и данные из подзапроса (базовый Select с функцией Aggregate MAX). Я сам тестировал подзапрос, и он отлично работает, но как только я помещу его в CREATE TABLE MapData AS ... он ошибается. Любой совет? или это даже невозможно в MS Access?Подзапросы как вход в инструкцию MS Jet CREATE TABLE

Спасибо, Стейси

ответ

1

Access в 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

+0

Заявление создаст таблицу. Если таблица с тем же именем уже существует, я думаю, что она выкинет ошибку. Но вы должны проверить меня на этот счет. – HansUp

+0

Я НЕНАВИЖУ, ЧТО это делаю, я должен работать самостоятельно и учиться, но я общался с этим более часа. Я попробовал это, таблица НЕ ПРЕДВАРИТЕЛЬНАЯ, и она ошибалась в предложении FROM. Ниже мой sql: – Stacy