powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как задать условие на динамически создаваемое поле?
19 сообщений из 44, страница 2 из 2
как задать условие на динамически создаваемое поле?
    #39819939
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовПосетительпропущено...


интересно, где таким гениальным выводам учат.

Ваше предложение?

руководствоваться не религиозными убеждениями, а поставленными задачами и возможностями имеющихся инструментов.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39819955
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посетитель,

Совершенно верно. Поэтому и было указано автору на грубую ошибку проектирования.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39819963
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что тут грубого то? ТС просто разбирается что и как, вопросы задаёт.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39819964
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовПосетитель,

Совершенно верно. Поэтому и было указано автору на грубую ошибку проектирования.

с каких пор использование case - грубая ошибка проектирования?
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39819975
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посетитель,

ошибка в том, что при таком подходе значение атрибута не может быть определено для любого значения ключа. Т.е. у автора не реляционное отношение, а экселевская таблица, к которой реляционная алгебра неприменима.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39819979
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовПосетитель,

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

у автора - выборка данных
а у вас - религия поклонения нормальным формам вопреки здравому смыслу
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39819988
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посетитель,

если нужны подобные вычисления, то надо организовать вычисляемый столбец.
Вы утрируете, математика сервера призвана удовлетворять требованиям реляционной алгебры, а кустарному творчеству и работает эффективно в случае, если разработчик следует существующим правилам.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39819993
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав КолосовПосетитель,

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

Не следует слепо следовать догмам из сомнительных источников.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39819998
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

"если нужны подобные вычисления, то надо организовать вычисляемый столбец"

А если это нужно в одном запросе из сотни других для этой таблицы?
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39819999
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может ТСу ещё про вычисляемый столбец в таблице будем рассказывать? каждое решение уместно в рамках конкретных требований
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39820004
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneможет ТСу ещё про вычисляемый столбец в таблице будем рассказывать?
А еще можно вьюху создать. Или вообще inline table-valued UDF.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39820005
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatKonst_Oneможет ТСу ещё про вычисляемый столбец в таблице будем рассказывать?
А еще можно вьюху создать. Или вообще inline table-valued UDF.

+100
=)
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39820057
rtv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rtv
Гость
Люди, ну о чём спор? Приведённый текст - не код запроса, этот текст здесь же на форуме был написан для примера и заключён в скобочки src, просто для наглядности.
Реально там, действительно не один десяток таблиц связывается, и денормализация напрашивалась бы, и вьюхи можно, и временные таблицы можно, а я вообще в Delphi пишу, там ещё чёрта лысого можно, но это не имеет никакого отношения к техническому вопросу использования динамического поля внутри порождающего его select.

Wlr-l, вполне объяснил. Спасибо!
Shakill в доки ткнул. Спасибо!
Другие люди привели варианты обращения к такому полю. Спасибо!

Но говорить о грубых ошибках проектирования не вид проекта вообще, это сильно. Несколько раз же было сказано, что не код запроса приведён, а, видимо, неудачная иллюстрация вопроса. Но тут с какой стороны посмотреть - поскольку мне сразу ответили, не переспрашивая, не уточняя, то и вполне для меня удачная ...
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39820093
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rtv,

Не знаю насчет ошибок проектирования, но условия по полям, вычисленным в запросе через CASE это почти гарантированные проблемы с произодительностью в дальнейшем.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39820097
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mindrtv,

Не знаю насчет ошибок проектирования, но условия по полям, вычисленным в запросе через CASE это почти гарантированные проблемы с произодительностью в дальнейшем.А материализация и индексация каждого case -- это почти гарантированные неудобные вопросы от начальства "как, ^%*№$, опять надо N-цать тыщ долларов на расширение SSD-хранилища?"

Везде нужна золотая середина, тем более техник фиксации плана -- мульен, тележка и ведро.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39820103
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rtvНо говорить о грубых ошибках проектирования не вид проекта вообще, это сильно.+1
Не обязательно будут проблемы с производительностью, ведь это условие может быть, так сказать, "финишным", отсеивающим 5 записей из 10
Не всегда возможно сделать вычисляемое поле, потому что выражение может быть из полей множества таблиц.
Не во всех случаях нужно делать материализроованные вьюхи на каждый запрос, ведь запрос может выполняться редко, да и план может быть не таким плохим.
В общем, нужно видеть весь проект, а не принимать каждый отдельный (и удачный) приём, как обязательный к повторению шаблон проектирования.
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39820106
rtv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rtv
Гость
Mindrtv,

Не знаю насчет ошибок проектирования, но условия по полям, вычисленным в запросе через CASE это почти гарантированные проблемы с произодительностью в дальнейшем.
В дальнейшем - это про что? Память забивает сразу, или при масштабировании, или что за проблемы?
Ситуация и специфика задач у нас, действительно, позволяют не особо следить за такими вещами (что плохо, конечно). А конкретно тот запрос с условным отбором, на который ещё условия (который здесь и не выкладывался даже) - вообще доступен только для одного пользователя. Я сразу забираю результат запроса на клиент, могу и без условий забирать.
Но для общего развития интересно - именно задание условий на такие поля - плохо? Или вообще конструкция такого условного отбора в динамическое поле - ну вот совсем плохая?
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39820114
rtv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rtv
Гость
alexeyvgrtvНо говорить о грубых ошибках проектирования не вид проекта вообще, это сильно.+1
Не обязательно будут проблемы с производительностью, ведь это условие может быть, так сказать, "финишным", отсеивающим 5 записей из 10
Не всегда возможно сделать вычисляемое поле, потому что выражение может быть из полей множества таблиц.
Не во всех случаях нужно делать материализроованные вьюхи на каждый запрос, ведь запрос может выполняться редко, да и план может быть не таким плохим.
В общем, нужно видеть весь проект, а не принимать каждый отдельный (и удачный) приём, как обязательный к повторению шаблон проектирования.
Про логику с финишными условиями. У меня по тому динамическому полю отсеиваются всё с пустым полем. То есть интересно то, куда что-то отобралось при условном отборе, и да из кучи таблиц. И отсеется больше, чем останется.
И вот это плохо?
Или когда будет не так плохо с "финишным" условием - когда по нему отсеется большинство записей, или наоборот?
...
Рейтинг: 0 / 0
как задать условие на динамически создаваемое поле?
    #39820120
nullin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Руслан ДамировичalexeyvgВ терминах SQL подзапросы, ИМХО, выглядят нативнее и понятнее.
Я имел в виду конкретно ( CROSS APPLY - SELECT FROM VALUES ) - подзапрос в подзапросе.
Там cross/outer apply в итоге переключает поведение по типу inner/left join.
А так, да, под конкретную задачу с финальным условием, так наверно, сложней для понимания получается.
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как задать условие на динамически создаваемое поле?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]