Форум: "Базы";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
ВнизVIEW Найти похожие ветки
← →
Ruslan. (2003-04-22 14:15) [0]Как сохранить результат запроса как новая таблица?
Т.е. что бы запрос не возвращал результат а создавал новую таблицу и кидал результат в эту таблицу. Я сделал бы это с помощью виртуальных таблиц (VIEW) но там не поддерживаются UNION, GROUP BY и др.
← →
Johnmen (2003-04-22 14:22) [1]В чем философский смысл ?
← →
Val (2003-04-22 14:47) [2]угу, разъясните, будьте любезны, а то чем-то нехорошим попахивает.
← →
Ruslan. (2003-04-22 15:17) [3]Есть две таблицы:
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) и при выборке
сгруппировать повторяющиеся записи с суммированием в поле стаж.
Подскажите пожалуйста может все это по проще можно сделать, а я тут ерундой занимаюсь.
Заранее спасибо.
← →
Жук (2003-04-22 15:36) [4]Напишите ХП для вычисления стажа.
← →
SiJack (2003-04-22 16:09) [5]Select ... into может поможет
← →
Val (2003-04-22 16:58) [6]>Ruslan. (22.04.03 15:17)
прислушайтесь к Жук © (22.04.03 15:36).
а потом обыкновенный селект из хп.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c