Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заполнить таблицу числами от 1 до 100, одним запросом 
V
    Опции темы
CYBERDREAM
Дата 17.5.2011, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: нет
Всего: 28



Доброго времени суток всем. 
Есть таблица 
Код

create table TmpTable
(
 ID int
)

необходимо в нее забить (оптимальным образом) числа от 1 до 100
нашел способ
Код

WITH    q AS
        (
        SELECT  1 AS num
        UNION ALL
        SELECT  num + 1
        FROM    q
        WHERE   num < 100
        )
insert into dbo.TmpTable(ID)
select * from q

Способ вроде хороший. Но хотелось бы аля
Код

insert into dbo.TmpTable(ID)
select id from 
(
    with q as 
    (
            SELECT  1 AS id
            UNION ALL
            SELECT  id + 1
            FROM    q
            WHERE   id < 100            
    ) 
)


но выдает
Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'with'.
Msg 319, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
Msg 102, Level 15, State 1, Line 12
Incorrect syntax near ')'.


Разумеется подойдет любой др. способ.


Это сообщение отредактировал(а) CYBERDREAM - 17.5.2011, 21:57


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Zloxa
Дата 17.5.2011, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



а чем, собсна, вас не удовлетворяет тот способ, который работает?

поробуйте еще так:
Код

insert into dbo.TmpTable(ID)
select id from 
(
    with q as 
    (
            SELECT  1 AS id
            UNION ALL
            SELECT  id + 1
            FROM    q
            WHERE   id < 10            
    ) 
 select id from q
) s



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
CYBERDREAM
Дата 17.5.2011, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: нет
Всего: 28



Цитата(Zloxa @ 17.5.2011,  22:01)
а чем, собсна, вас не удовлетворяет тот способ, который работает?

поробуйте еще так:
Код

insert into dbo.TmpTable(ID)
select id from 
(
    with q as 
    (
            SELECT  1 AS id
            UNION ALL
            SELECT  id + 1
            FROM    q
            WHERE   id < 10            
    ) 
 select id from q
) s

Привет Zloxa.
Меня вроде как и устраивает. Но задание дали после собеседования. По возможности одним запросом надо выполнить каждую задачу.
Вот как бы не повлияло бы что то на мои шансы.

По поводу твоего варианта, уже так пробовал
ошибка та же самая увы smile 


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Zloxa
Дата 17.5.2011, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Цитата(CYBERDREAM @  17.5.2011,  22:03 Найти цитируемый пост)
 одним запросом 

и что? Первый вариант не удовлетворяет критерию?  smile 


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
CYBERDREAM
Дата 17.5.2011, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: нет
Всего: 28



Цитата(Zloxa @ 17.5.2011,  22:13)
Цитата(CYBERDREAM @  17.5.2011,  22:03 Найти цитируемый пост)
 одним запросом 

и что? Первый вариант не удовлетворяет критерию?  smile

да вроде как и да smile  но кто этих дядь знает.
Ну ладно, если что на тебя сошлюсь. 

Все другие способы (while,for ) собственно сводятся к созданию процедур, что не есть хорошо по моей задаче.
Видимо оставлю так.


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0760 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.