powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подскажите, как правильно сделать
23 сообщений из 23, страница 1 из 1
Подскажите, как правильно сделать
    #38338522
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброй ночи! Вопрос простой, вызываю ХП с булевым параметром в условии, нужно выбрать все строки со значением ItemsCount > 0, что-то не соображу, как это сделать:

@IsAvailable bit
Select * FROM Items WHERE ItemsCount – и вот тут, как дальше?
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38338565
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreWHERE ItemsCount – и вот тут, как дальше?WHERE ItemsCount > 0
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38338707
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Телепатирую.
Код: sql
1.
SELECT * FROM Items WHERE @IsAvailable = 'FALSE' OR ItemsCount > 0


Это если @IsAvailable не допускает значения NULL, а только TRUE или FALSE.
Если @IsAvailable может быть NULL, то определитесь, какое поведение вам нужно в таком случае.
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38339662
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333, спасибо, красивый хак, пожалуй воспользуюсь им:
Код: c#
1.
SELECT * FROM Items WHERE @IsAvailable = 0 OR ItemsCount > 0
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38339784
Фотография Bator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torre, как вариант

Код: sql
1.
SELECT * FROM Items WHERE ItemsCount >= @IsAvailable
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356657
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за ответы.
Теперь ситуация изменилась, нужно получить
Код: c#
1.
 SELECT * FROM Items WHERE GroupId = @GroupId


Но если
Код: c#
1.
@GroupId = 0

тогда нужно выбрать все группы

Подскажите пожалуйста красивый прием, работа горит . Спасибо.
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356671
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torre, а чем этот вопрос отличается от предыдущего?
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356675
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreПодскажите пожалуйста красивый прием, работа горит . Спасибо.
Перечитать свое же сообщение
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1036418&msg=14600867
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356676
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shakill, прости, давит время, не могу сообразить как приладить
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356688
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glory, когда например @GroupId = 3 выводит все группы
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356693
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreGlory, когда например @GroupId = 3 выводит все группы
Интересно, а как сравние с 3 может выводить другие значения ?
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356696
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torreдавит время, не могу сообразить как приладить
Наймите еще кого-нибудь. Кто будет делать вашу работу.
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356706
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно выводить дату по группам, но в некоторых случаях нужно вывести все группы, у меня есть только @GroupId, int
Можно передать NULL
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356710
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreНужно выводить дату по группам, но в некоторых случаях нужно вывести все группы, у меня есть только @GroupId, int
Можно передать NULL
Используйте OR - что непонятного ?
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356715
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GloryTorreНужно выводить дату по группам, но в некоторых случаях нужно вывести все группы, у меня есть только @GroupId, int
Можно передать NULL
Используйте OR - что непонятного ? Спасибо, Glory, дошло, сделал так:
Код: c#
1.
SELECT * FROM Items WHERE GroupId = @GroupId OR @GroupId IS NULL
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356719
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreСпасибо всем за ответы.
Теперь ситуация изменилась, нужно получить
Код: c#
1.
 SELECT * FROM Items WHERE GroupId = @GroupId


Но если
Код: c#
1.
@GroupId = 0

тогда нужно выбрать все группы

Подскажите пожалуйста красивый прием, работа горит . Спасибо.

работа.. да уж...
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356731
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ты, Winnipuh...
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356746
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SELECT * FROM Items WHERE GroupId = ALL(SELECT @GroupId WHERE @GroupId<>0);

???
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356748
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreGloryпропущено...

Используйте OR - что непонятного ? Спасибо, Glory, дошло, сделал так:
Код: c#
1.
SELECT * FROM Items WHERE GroupId = @GroupId OR @GroupId IS NULL



В процедуре я бы сделал без or. Оптимизатору полегше будет.
Код: sql
1.
2.
3.
4.
if @GroupId is not null
  SELECT * FROM Items WHERE GroupId = @GroupId
else 
  SELECT * FROM Items
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356749
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreНо если
Код: c#
1.
@GroupId = 0

тогда нужно выбрать все группы

Torreсделал так:
Код: sql
1.
SELECT * FROM Items WHERE GroupId = @GroupId OR @GroupId IS NULL


Что-то не стыкуется требуемое условие с реализацией :-)
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356752
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333TorreНо если
Код: c#
1.
@GroupId = 0


тогда нужно выбрать все группы

Torreсделал так:
Код: sql
1.
SELECT * FROM Items WHERE GroupId = @GroupId OR @GroupId IS NULL



Что-то не стыкуется требуемое условие с реализацией :-)Что NULL, что 0 - всё равно, всё равно...
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38356852
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за комменты, попозже разберу код
...
Рейтинг: 0 / 0
Подскажите, как правильно сделать
    #38357164
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreВсем спасибо за комменты, попозже разберу код

а я бы даже не разбирал, это может выглядеть как некое недоверие к коллегам по форуму
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подскажите, как правильно сделать
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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