169 похожих чатов

Здраствуйте, как можно результат этого селекта в переменную запистаь?

5 ответов

6 просмотров

одна), а если 2 поля?

SET @Variable = (SELECT TOP 1....)

начнем с замечаний. 1. очень попахивает низкой квалификацией и попыткой решить производственные задачи руками сообщества. Помимо нечистоплотности (зарплату вам платят и с сообществом вы вряд ли поделитесь), это влечет за собой еще и хреновый результат. 2. в коде как понимаю есть ошибка. если правильно понимаю, то процедура должна возвращать механика с наибольшим количеством ремонтов? е5сли так, то направление надо указать обратное, а то наоброт возвращает худшего (а таких небось будет много - отпускники, уволенные и т.п.) 3. в коде не решен вопрос как быть если два механика выполнили одинаковое количество ремонтов (у каждого, например по 5 ремонтов - кого возвращаем?) если не добавить дополнительной сортировки, то в некоторых случаях результат будет меняться и это фиаско. столбить надо обязательно!!! например по айдишнику пользователя (в этом даже и смысл есть бизнесовый - поощряем в первую очередь молодых сотрудников), но эти правила лучше бы с бизнесом согласовать 4. отдельные товарищи предлагают написать один и тот же код дважды. Если мой сотрудник такое творит, то он делает очень серьезный шаг к своему увольнению!!! - Ваш запрос в определенных случаях может оказаться тяжелым для системы. и вы собираетесь его выполнять дважды - даже у вас стиль оформления кода таков, что логика не вполне очевидна. А доработки потребуются (например, я вам накинул в пп 2 и 3) и вам придется повторить одни и те же доработки в двух местах (как показывает практика, разработчики при необходимости код продублировать, в 10% случаев забывают это делать, или делают с ошибками). лечить это можно временными таблицами или табличными переменными. например: declare @tempTable table ( field1 int , field2 nvarchar(50) ); declare @var1 int , @var2 nvarchar(50); set nocount on; /* начало наполнения данными временной таблицы, этот запрос может быть тяжелым! */ insert into @tempTable select field1 , field2 from workTable; /* окончание потенциально тяжелого запроса */ select top 1 -- получаем данные из времянки, запрос потенциально легчайший, т.к. обрабатываем уже готовый результат @var1 = field1 , @var2 = field2 from @tempTable order by field3; set nocount off; -- возвращаем тютелька в тютельку результат первого тяжелого запроса тоже легчайший, т.к. нет обращения к рабочим таблицам, все что нужно было сделано в самом начале select * from @tempTable; есть и другие варианты, которые я приемлю

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта