Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Есть запрос:
select udf_type_id,
fk_id,
u.proj_id,
SUM (t.act_reg_cost) as MY,
u.udf_number from udfvalue u
inner join TASKRSRC t ON fk_id = t.task_id WHERE udf_type_id=5240 and u.proj_id = 9665 group by u.udf_number, u.proj_id, fk_id, udf_type_id

он возвращает 2001 записей.

Нужно обновить поле "u.udf_number" значением SUM (t.act_reg_cost) по этим 2001 записям.

Можно ли это сделать одним запросом и как? Или придется городить временную таблицу и пр..?
Заранее благодарю.
10 фев 14, 14:53    [15546562]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
MAULER
Или придется городить временную таблицу и пр..?

Вложенный запрос уже и так есть виртуальная временная таблица
10 фев 14, 14:56    [15546578]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Glory,

Я понимаю, просто интересно, можно ли поле обновить одним UPDATE -ом (ведь в нем нельзя сцепиться с таблицей как в select)
10 фев 14, 14:58    [15546586]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
MAULER
Я понимаю, просто интересно, можно ли поле обновить одним UPDATE -ом

Для вас запрос UPDATE со вложенным запросом является одним UPDATE -ом ?
Если да, то используйте вложенные запросы
10 фев 14, 15:02    [15546616]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Glory
MAULER
Я понимаю, просто интересно, можно ли поле обновить одним UPDATE -ом

Для вас запрос UPDATE со вложенным запросом является одним UPDATE -ом ?
Если да, то используйте вложенные запросы


Да, является, Glory можете подсказать на моём примере?
10 фев 14, 15:09    [15546663]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
MAULER
Да, является, Glory можете подсказать на моём примере?

Ну так просуммируйте в подзапросе одну таблицу. И соедините результат с другой таблицей
И все это в одном UPDATE
10 фев 14, 15:11    [15546672]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Glory,

Первый select, вот этот:

select udf_type_id,
       fk_id,
       u.proj_id,
       SUM (t.act_reg_cost) as MY,
       u.udf_number from udfvalue u
	   inner join TASKRSRC t ON fk_id = t.task_id WHERE udf_type_id=5240 and u.proj_id = 9665 group by u.udf_number, u.proj_id, fk_id, udf_type_id


выводит нужные записи в таблице. Проблема в том, что select не может обновить поле udf_number значением SUM (t.act_reg_cost). Так бы им и воспользовался. Но, приходится использовать UPDATE. В UPDATE не могу правильно составить запрос. Всё время ошибку на компиляции выводит.
10 фев 14, 15:17    [15546714]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
Люк, используй хелп и примеры из него. Пребывает сила в них.
10 фев 14, 15:20    [15546736]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Glory
Люк, используй хелп и примеры из него. Пребывает сила в них.


Скажите, Glory, а Вы сами знаете как составить этот запрос? Хотелось бы получить простой ответ "Да" / "Нет".
10 фев 14, 15:32    [15546852]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
MAULER
Хотелось бы получить простой ответ "Да" / "Нет".

Нет. И главное - не хочу знать.
Но написать - смогу.
10 фев 14, 15:33    [15546862]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Glory
MAULER
Хотелось бы получить простой ответ "Да" / "Нет".

Нет. И главное - не хочу знать.
Но написать - смогу.


Почему тогда не хотите мне помочь, написать код запроса?
10 фев 14, 15:43    [15546911]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
MAULER
Почему тогда не хотите мне помочь, написать код запроса?

Потому что он уже написан в хелпе. Почему вы не хотите взять его оттуда ?
10 фев 14, 15:45    [15546923]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Glory,

Т.е. Вы принципиально отказываетесь помогать, т.к. есть хэлп?
10 фев 14, 15:46    [15546936]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
MAULER
Т.е. Вы принципиально отказываетесь помогать, т.к. есть хэлп?

Вам скопировать хелп сюда ? Извольте

В ситуации, когда у данного менеджера по продажам имеется несколько продаж в день, все продажи для каждого из менеджеров по продажам должны быть собраны вместе инструкцией UPDATE, как показано в следующем примере.

USE AdventureWorks2012;
GO
UPDATE Sales.SalesPerson
SET SalesYTD = SalesYTD + 
    (SELECT SUM(so.SubTotal) 
     FROM Sales.SalesOrderHeader AS so
     WHERE so.OrderDate = (SELECT MAX(OrderDate)
                           FROM Sales.SalesOrderHeader AS so2
                           WHERE so2.SalesPersonID = so.SalesPersonID)
     AND Sales.SalesPerson.BusinessEntityID = so.SalesPersonID
     GROUP BY so.SalesPersonID);
GO
10 фев 14, 15:47    [15546947]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Нет, мне бы хотелось получить ответ на свой вопрос, а именно:

Вы принципиально отказываетесь помогать, т.к. есть хэлп?

Можно коротко: Да/Нет.
10 фев 14, 15:50    [15546959]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
MAULER
Вы принципиально отказываетесь помогать, т.к. есть хэлп?

Можно коротко: Да/Нет.

Опросы проводите, пожалуйста, в другом месте.
10 фев 14, 15:51    [15546969]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Glory
MAULER
Вы принципиально отказываетесь помогать, т.к. есть хэлп?

Можно коротко: Да/Нет.

Опросы проводите, пожалуйста, в другом месте.


Я поясню: очень хочется понять причину такого предвзятого отношения к моей персоне. Вроде бы форум, это место, где людям помогают тем, чего просто так не найти в интернете или просто этого нет.

Причин, почему я не могу воспользоваться подсказкой может быть много. Перекрыт доступ, нет времени, решение требуется срочно. Да мало ли что?!

Видимо Ваше мировоззрение таково, что дать готовый ответ, для Вас является не интересным. Обязателен фактор поучительности.
Это касается не именно этого запроса, а вообще Вашего отношения в принципе.
10 фев 14, 15:57    [15547014]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
MAULER
Нет, мне бы хотелось получить ответ на свой вопрос, а именно:

Вы принципиально отказываетесь помогать, т.к. есть хэлп?

Можно коротко: Да/Нет.
В глаза смотреть, в глаза!!
10 фев 14, 15:57    [15547019]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
MAULER
Я поясню: очень хочется понять причину такого предвзятого отношения к моей персоне.

Вы слишком переоценивате свою персону.

MAULER
Вроде бы форум, это место, где людям помогают тем, чего просто так не найти в интернете или просто этого нет.

Я вам указал хелп. Указал конкретный пример. Чего вам еще не хватает ?
По-вашему форум, это место, "где за меня сделают все" ?

MAULER
Причин, почему я не могу воспользоваться подсказкой может быть много. Перекрыт доступ, нет времени, решение требуется срочно. Да мало ли что?!

Поэтому все другие, у которых много времени, просто должны сделать вашу работу за вас. Это их долг !
Вот я лично могу за вас обедать ходить, если у там "Перекрыт доступ, нет времени".
Или премию тоже за вас могу получать за вас.

MAULER
Видимо Ваше мировоззрение таково, что дать готовый ответ, для Вас является не интересным. Обязателен фактор поучительности.

Готовый ответ я даю за деньги
10 фев 14, 16:03    [15547049]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Glory
По-вашему форум, это место, "где за меня сделают все" ?

Форум - это место где пуляются ссылками. Конечно.

Glory
Поэтому все другие, у которых много времени, просто должны сделать вашу работу за вас. Это их долг !

Это Ваши фантазии. Не более.

Glory
Или премию тоже за вас могу получать за вас.

Можете, но не получите.

Glory
Готовый ответ я даю за деньги

Я с Вами и за деньги связываться бы не стал.

Честно надеялся в этот раз избежать Вашего присутствия в своей теме, но, увы, не получилось.
10 фев 14, 17:14    [15547494]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Glory
Member

Откуда:
Сообщений: 104760
MAULER
Форум - это место где пуляются ссылками. Конечно.

Нет. Форум - это где пишут сразу готовый скрипт под ваши таблицы и данные. Причем сразу правильный.

MAULER
Это Ваши фантазии. Не более.

Тогда нефиг пафосно провозглашать ", это место, где людям помогают тем, чего просто так не найти в интернете или просто этого нет"
Я вам показал как "найти в интернте"

MAULER
Можете, но не получите.

Вы хотите хорошо устроиться. Вам значит готовый скрипт, а вы что взамен ?

MAULER
Я с Вами и за деньги связываться бы не стал.

А я с вами - ни за какие деньги.
Идите лучше пишите запрос. А то опять будете жаловаться на "нет времени или мало ли что"
10 фев 14, 17:22    [15547537]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
MAULER
Member

Откуда:
Сообщений: 902
Glory
Нет. Форум - это где пишут сразу готовый скрипт под ваши таблицы и данные. Причем сразу правильный.

А вообще странно - куда подевались другие участники ветки? Вы же не удаляете их ответы?! Или удаляете?

Glory
Я вам показал как "найти в интернте"

Надеюсь за это, я Вам не должен денег? Или должен? А если должен - то сколько?

Glory
Вы хотите хорошо устроиться. Вам значит готовый скрипт, а вы что взамен ?

А я взамен также - готовый скрипт, другому участнику, если "знаю и могу".

Glory
А я с вами - ни за какие деньги.

Да! Если можно. Спасибо.

Glory
Идите лучше пишите запрос. А то опять будете жаловаться на "нет времени или мало ли что"

Куда идти и что делать - я уж разберусь сам. Это первое. Второе - скрипт давно уже готов. Я нашел информацию ещё ДО Ваших бесценных BOL-ссылок.

P.S.
Посмотрел историю по переписке с Вашим участием в моих темах. Процент полезного участия Вас, как помощника-подсказчика, ничтожно мал. Тут и умные цитаты китайской философии, и учение пользоваться интернетом и многое другое, но только не пара строчек кода (они ведь стоят денег!).
В связи с чем у меня возник совершенно резонный вопрос, а именно: Вы модератор чего? Т.е. если речь о технической составляющей, то в отношении меня её просто нет. Если речь идет о классической схеме модерирования, где модератор следит за правилами оформления сообщений, осуществляет контроль цензуры и т.п. то, тогда я не совсем понимаю, смысла Вашего прибывания в этой теме?! Ведь по-правде сказать, зная азы той или иной предметной области, любой другой человек мог бы модерировать этот раздел вооружившись интернетом и механизмом вставки ссылок!?

Я всё это к чему подвожу - если можно, просьба воздержаться от Вашего участия в обсуждении моих тем. Обещаю соблюдать правила форума и ещё, повторно, прочту их.
10 фев 14, 19:28    [15548007]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
~
Guest
MAULER,

автор
вообще странно - куда подевались другие участники ветки? Вы же не удаляете их ответы?! Или удаляете?

Тут, читаю, дивлюсь потихоньку и угораю слегка.
По адресу отправили, потом еще и пример запостили... Что нужно-то еще, если все это было известно и до этого?
"А вы чего это, еще и пальцы за меня загибать будете?" (с)
для начала в вашем запросе алиасы нормально расставте, а то даже читать не охота.
udf_type_id к какой таблице относится, читатели должныдогадаться?

автор
Проблема в том, что select не может обновить поле udf_number значением SUM (t.act_reg_cost).

Чего, прямо в таком виде, в котором вы его привели не может? Немного ожидаемо...
10 фев 14, 19:57    [15548115]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
MAULER
Вы принципиально отказываетесь помогать, т.к. есть хэлп?

Можно коротко: Да/Нет.
Вопрос в стиле "Вы уже перестали пить коньяк по вечерам?" :-)

Вам уже помогли, сказав, что в хелпе есть нужный вам пример. Что нужно ответить? "Да, я помог, поэтому никогда не помогаю"?

А копирвание примеров в форум - какое то глупое занятие, зачем это делать?
10 фев 14, 20:49    [15548299]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
MAULER
А вообще странно - куда подевались другие участники ветки? Вы же не удаляете их ответы?! Или удаляете?

Вообще ответ был уже дан, и даже больше того, вам скопировали из хелпа пример (непонятно, зачем, я бы не стал).

Видимо, несколько человек скопировали сюда этот пример из хелпа, а злой Glory потёр, назло вам :-)
10 фев 14, 20:53    [15548319]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить