Задавайте вопросы, мы ответим
Вы не зашли.
Пожалуйста, помогите найти решение одной проблемки:
я могу создавать временную таблицу, в которой 2 поля известны (заполнены), а
1 поле (последнее) надо заполнить через update, т.е. изначально оно пустое.
Я делаю так,
create table #tab1 (
id int,
fio varchar(50),
dolg varchar(50)
)
insert into #tab1
select id, fio, null from sotrudnic
update #tab1 set dolg=(select namedolg from dolgnost,sotrudnic
where dolgnost.id=sotrudnic.id)
select * from #tab
и это работает.
Подскажите можно ли создать временную таблицу и сделать то же самое, используя
не create table, a используя конструкцию select ... into ... from, причем в
первых двух полях данные берутся из таблицы sotrudnic, а последнее поле сначала
имеет значение NULL и только потом заполняется при помощи update?
Неактивен
Нет.
Единственный вариант создать временную таблицу - create temporary table
Неактивен
Я понимаю,но если я могу написать
select id, fio, NULL dolg into #tab1
from sotrudnic
update #tab1 set dolg=(select namedolg from dolgnost,sotrudnic
where dolgnost.id=sotrudnic.id)
select * from #tab
Будет ошибка только в update, но не в select, т.к. MySQL считает dolg типом int, а я
присваиваю значение типа varchar.
можно ли как-нибудь сделать его типом varchar???
Отредактированно kapucin (23.09.2010 14:01:57)
Неактивен
update некорректно записан.
исходя из того, что было представлено как условие, скорее всего вы имели ввиду
update #tab1 join dolgnost on dolgnost.id = #tab1.id set tab1.dolg = dolgnost.name
Неактивен