Нужен совет По MS SQL
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Нужен совет По MS SQL - 2007-08-29 10:45:38.540000
|
|
|
Translyator
Сообщений: 359
Оценки: 0
Присоединился: 2007-08-17 12:32:54.773333
|
select distinct c.job_id, h.job_id, (h.amount/(select distinct sum(h.amount) from hours h where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 group by h.job_id)*c.amount) as deprcost from hours h, costs c where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 как мне полученный deprcost использовать в другом запросе т.е создать к нему ссылку заранее всем спасибо SQl занимался около недели поэтому неумен
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 11:01:29.336666
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
quote:
ORIGINAL: Translyator select distinct c.job_id, h.job_id, (h.amount/(select distinct sum(h.amount) from hours h where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 group by h.job_id)*c.amount) as deprcost from hours h, costs c where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 как мне полученный deprcost использовать в другом запросе т.е создать к нему ссылку заранее всем спасибо SQl занимался около недели поэтому неумен Я не очень знаю нюансы синтаксиса MS SQL, но первый простой вариант - просто сделай View. А далее строй запросы используя ее, как обычную таблицу.
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 11:08:56.710000
|
|
|
Translyator
Сообщений: 359
Оценки: 0
Присоединился: 2007-08-17 12:32:54.773333
|
quote:
ORIGINAL: alexbozhko quote:
ORIGINAL: Translyator select distinct c.job_id, h.job_id, (h.amount/(select distinct sum(h.amount) from hours h where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 group by h.job_id)*c.amount) as deprcost from hours h, costs c where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 как мне полученный deprcost использовать в другом запросе т.е создать к нему ссылку заранее всем спасибо SQl занимался около недели поэтому неумен Я не очень знаю нюансы синтаксиса MS SQL, но первый простой вариант - просто сделай View. А далее строй запросы используя ее, как обычную таблицу. А это как если нетрудно то пример бы не помешал
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 11:37:44.716666
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
quote:
ORIGINAL: Translyator quote:
ORIGINAL: alexbozhko quote:
ORIGINAL: Translyator select distinct c.job_id, h.job_id, (h.amount/(select distinct sum(h.amount) from hours h where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 group by h.job_id)*c.amount) as deprcost from hours h, costs c where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 как мне полученный deprcost использовать в другом запросе т.е создать к нему ссылку заранее всем спасибо SQl занимался около недели поэтому неумен Я не очень знаю нюансы синтаксиса MS SQL, но первый простой вариант - просто сделай View. А далее строй запросы используя ее, как обычную таблицу. А это как если нетрудно то пример бы не помешал ну я не буду откатывать пример. Не на чем сейчас Но примерно так create view Вот упрощенный синтаксис
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition Ну а дальше select * from view_name View создается один раз и живет в схеме
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 11:40:26.160000
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
Вообще я всегда стараюсь разложить запросы на более простые. Сложный запрос "с наворотами" актуален тогда когда есть проблема производительности. Опять же, каждая СУБД по своему отрабатывает запрсы. Поэтому иногда для разных СУБД более эффективными могут оказаться совершенно разные решения
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 11:45:27.153333
|
|
|
Translyator
Сообщений: 359
Оценки: 0
Присоединился: 2007-08-17 12:32:54.773333
|
попробую
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 11:48:30.956666
|
|
|
Translyator
Сообщений: 359
Оценки: 0
Присоединился: 2007-08-17 12:32:54.773333
|
я извиняюсь но у меня же не существующе столбец этож формула
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 12:34:53.233333
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
А ну и что? Он во вьюхе как реальный станет только вьху править нельзя. Кстати, я не помню, может в MSSQL есть понятие "вычисляемое поле".
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 12:58:05.340000
|
|
|
Translyator
Сообщений: 359
Оценки: 0
Присоединился: 2007-08-17 12:32:54.773333
|
чё то не получается The column 'job_id' was specified multiple times for 'Ov'. выдал это приэтом create view Ov as select distinct c.job_id, h.job_id, (h.amount/(select distinct sum(h.amount) from hours h where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 group by h.job_id)*c.amount) as deprcost from hours h, costs c where h.job_id=c.job_id and c.typeof=3 and h.typeof=2
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 13:14:07.180000
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
Попробуй select distinct c.job_id, h.job_id as rrr,…. Вообще надо отлаживать так трудно сказать у тебя вложенный select Попробуй поотдельности их прогнать.
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 13:35:02.770000
|
|
|
Pupkin-Zade
Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
|
distinct с вычисляемым полем это ИМХО 5…
|
|
|
RE: Нужен совет По MS SQL - 2007-08-29 14:16:36.880000
|
|
|
necrostaz
Сообщений: 172
Оценки: 0
Присоединился: 2007-02-27 15:54:59.460000
|
quote:
select distinct c.job_id, h.job_id, (h.amount/(select distinct sum(h.amount) from hours h where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 group by h.job_id)*c.amount) as deprcost from hours h, costs c where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 как мне полученный deprcost использовать в другом запросе т.е создать к нему ссылку заранее всем спасибо SQl занимался около недели поэтому неумен можно сделать проще не используюя вьюшку, например так: select deprcost from (select distinct c.job_id, h.job_id, (h.amount/(select distinct sum(h.amount) from hours h where h.job_id=c.job_id and c.typeof=3 and h.typeof=2 group by h.job_id)*c.amount) as deprcost from hours h, costs c where h.job_id=c.job_id and c.typeof=3 and h.typeof=2)src
|
|
|
RE: Нужен совет По MS SQL - 2007-11-07 23:01:04.356666
|
|
|
Toxic_gl
Сообщений: 17
Оценки: 0
Присоединился: 2007-11-07 22:52:34.470000
|
Вот нашел уязвимость а что делать не знаю выдает такую ошибку: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1 Ошибка базы меню SELECT * from leftmenu1_c where id=1\' в index.php Может кто скажет что делать?
|
|
|
RE: Нужен совет По MS SQL - 2007-11-08 10:05:10.553333
|
|
|
Pupkin-Zade
Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
|
Описывалось сто раз, читать
|
|
|
|
|