Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите пожалуйста написать SQL скрипт  [new]
Anton--1978
Member

Откуда:
Сообщений: 23
Добрый день. Столкнулся с задачей - нужно вставить в таблицу значения из другой таблицы, но только в один столбец. А в остальные загнать четко прописанные значения и чего то никак не идет. Видимо подзабыл SQL.
Суть - есть таблица TABLE1 в ней столбец TABLE1.COLUMN1 в нем цифровые значения которые надо отобрать по определенному признаку (например select TABLE1.COLUMN1 from TABLE1 where TABLE1.COLUMN1>0) получаем некую таблицу. Потом надо вставить все эти значения в таблицу TABLE2 в столбец TABLE2.COLUMN1 и создать столько строк сколько вышло значений в результате запроса select TABLE1.COLUMN1 from TABLE1 where TABLE1.COLUMN1>0 , а в остальные столбцы TABLE2 заполнить одними и теми же значениями, например COLUMN2 = 5000 , COLUMN3=NULL , COLUMN4='Бим-бом'.
Т.е в результате TABLE2 должно выглядеть так:

TABLE2
COLUMN1 | COLUMN2 | COLUMN3 | COLUMN4
--старые значения
первое значение из TABLE1.COLUMN1|5000 |NULL |Бим-бом
второе значение из TABLE1.COLUMN1|5000 |NULL |Бим-бом
третье значение из TABLE1.COLUMN1|5000 |NULL |Бим-бом
четвертое значение из TABLE1.COLUMN1|5000 |NULL |Бим-бом
пятое из TABLE1.COLUMN1|5000 |NULL |Бим-бом
2 ноя 11, 14:12    [11539400]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста написать SQL скрипт  [new]
igor2222
Member

Откуда: Харків
Сообщений: 1233
Insert into table2
select COLUMN1, '5000', null, 'Бим-бом' from TABLE1 where TABLE1.COLUMN1>0
2 ноя 11, 14:18    [11539470]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста написать SQL скрипт  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Так?
INSERT TABLE2(COLUMN1,COLUMN2,COLUMN3,COLUMN4)
SELECT T.COLUMN1, 5000, NULL, 'Бим-бом'
FROM TABLE2 T CROSS JOIN master.dbio.spt_values V
WHERE V.type='P' AND (SELECT COUNT(*) FROM TABLE1 WHERE COLUMN1>0)>=V.number;
2 ноя 11, 14:28    [11539594]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста написать SQL скрипт  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Поправка:
iap
Так?
INSERT TABLE2(COLUMN1,COLUMN2,COLUMN3,COLUMN4)
SELECT T.COLUMN1, 5000, NULL, 'Бим-бом'
FROM TABLE1 T CROSS JOIN master.dbio.spt_values V
WHERE T.COLUMN1>0 AND V.type='P' AND (SELECT COUNT(*) FROM TABLE1 WHERE COLUMN1>0)>V.number;
2 ноя 11, 14:30    [11539622]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста написать SQL скрипт  [new]
Anton--1978
Member

Откуда:
Сообщений: 23
iap
Поправка:
iap
Так?
INSERT TABLE2(COLUMN1,COLUMN2,COLUMN3,COLUMN4)
SELECT T.COLUMN1, 5000, NULL, 'Бим-бом'
FROM TABLE1 T CROSS JOIN master.dbio.spt_values V
WHERE T.COLUMN1>0 AND V.type='P' AND (SELECT COUNT(*) FROM TABLE1 WHERE COLUMN1>0)>V.number;


Спасибо, но пишет Invalid object name 'master.dbio.spt_values'.
2 ноя 11, 14:43    [11539763]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста написать SQL скрипт  [new]
Anton--1978
Member

Откуда:
Сообщений: 23
А.... это dbo, извиняюсь
2 ноя 11, 14:45    [11539792]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить