![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
VIEW [D5, IB5.x]
Ruslan. © (2003-04-22 14:15:00)Как сохранить результат запроса как новая таблица?
Т.е. что бы запрос не возвращал результат а создавал новую таблицу и кидал результат в эту таблицу. Я сделал бы это с помощью виртуальных таблиц (VIEW) но там не поддерживаются UNION, GROUP BY и др.
Val (2003-04-22 16:58:00) [1]>Ruslan. (22.04.03 15:17)
прислушайтесь к Жук © (22.04.03 15:36).
а потом обыкновенный селект из хп.
SiJack (2003-04-22 16:09:00) [2]Select ... into может поможет
Жук (2003-04-22 15:36:00) [3]Напишите ХП для вычисления стажа.
Ruslan. (2003-04-22 15:17:00) [4]Есть две таблицы:
1)REESTRADV
(CODE,REGNOM,FAMILIYA)
2)ANKETA
(A_CODE,LINK,
DATE_IN,-дата поступления на работу
DATE_OUT)-дата увольнения
-----------------------------------------------------------
select REGNOM,LINK, FAMILIYA,
CAST(SUM(((DATE_OUT-DATE_IN)/365))-0.5 as integer) as stag,
from reestradv JOIN anketa on
ANKETA.LINK=REESTRADV.CODE
WHERE DATE_OUT IS NOT NULL
GROUP BY ANKETA.LINK,reestradv.code,reestradv.regnom,
reestradv.FAMILIYA
UNION
select REGNOM,LINK,FAMILIYA,
CAST(SUM((("TODAY"-DATE_IN)/365))-0.5 as integer) as stag,
from reestradv JOIN anketa on
ANKETA.LINK=REESTRADV.CODE
WHERE DATE_OUT IS NULL
GROUP BY ANKETA.LINK,reestradv.code,reestradv.regnom,
reestradv.FAMILIYA
В результате такого запроса получается:
------------------------------
|РЕГ.НОМЕР |LINK|ФАМИЛИЯ|Стаж|
------------------------------
|1 |1 |ИВАНОВ | 3 | - если есть дата увольнения
------------------------------
|1 |1 |ИВАНОВ | 2 | - это если нет дата увольнения то от текущей
------------------------------ даты вычитается дата поступления на работу
|2 | 2 |ПЕТРОВ | 2 |
------------------------------
|2 | 2 | ПЕТРОВ| 4 |
------------------------------
Как сделать общую группировку и суммирование стажа в этом запросе
На счет философского смысла: я хотел сделать этот запрос как отдельную таблицу(VIEW) и при выборке
сгруппировать повторяющиеся записи с суммированием в поле стаж.
Подскажите пожалуйста может все это по проще можно сделать, а я тут ерундой занимаюсь.
Заранее спасибо.
Val (2003-04-22 14:47:00) [5]угу, разъясните, будьте любезны, а то чем-то нехорошим попахивает.
Johnmen (2003-04-22 14:22:00) [6]В чем философский смысл ?