powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно написать CASE ?
6 сообщений из 6, страница 1 из 1
Как правильно написать CASE ?
    #40129636
Morskoi_kotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста!

Есть ID магазинов, а также поле с наименованием продукции.

Мне нужно сделать через CASE если ID =1 и наименование продукта содержит слово "Молоко", то надо чтобы выводилось "Молочные продукты в магазине №1", а если просто ID =1 а в поле нет слова "Молоко" надо чтобы выводило "Остальные продукты в магазине №1"

Я прописываю так:

CASE
WHEN ID =1 AND PRODUCT_NAME LIKE '%Молоко%'
THEN 'Молочные продукты в магазине №1'
WHEN ID =1 AND PRODUCT_NAME NOT LIKE '%Молоко%'
THEN 'Остальные продукты в магазине №1'
END

Но отфильтровывает только по первой части WHEN ID =1 AND PRODUCT_NAME LIKE '%Молоко%'
THEN 'Молочные продукты в магазине №1'. А по второй нет ((

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

Какие ещё не молочные продукты есть в магазине 1 ??
...
Рейтинг: 0 / 0
Как правильно написать CASE ?
    #40129645
Morskoi_kotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist,

перечень определенный есть и может меняться
...
Рейтинг: 0 / 0
Как правильно написать CASE ?
    #40129657
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Morskoi_kotik,

Код: sql
1.
2.
3.
4.
CASE WHEN PRODUCT_NAME LIKE '%Молоко%'
	THEN 'Молочные продукты в магазине №' + CAST([ID] AS varchar(50))
	ELSE  'Остальные продукты в магазине №' + CAST([ID] AS varchar(50))
END
...
Рейтинг: 0 / 0
Как правильно написать CASE ?
    #40129763
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Morskoi_kotik
Но отфильтровывает только по первой части
А по второй нет ((
А у меня всё правильно отфильтровывает

Похоже, у вас сервер бракованный, с багами.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with t as(
	select 1 as ID, N'Молоко' as PRODUCT_NAME
	union all
	select 1 as ID, N'Бухло' as PRODUCT_NAME
)
select
	CASE
		WHEN ID =1 AND PRODUCT_NAME LIKE '%Молоко%'
		THEN 'Молочные продукты в магазине №1'
		WHEN ID =1 AND PRODUCT_NAME NOT LIKE '%Молоко%'
		THEN 'Остальные продукты в магазине №1'
	END
from t
...
Рейтинг: 0 / 0
Как правильно написать CASE ?
    #40130143
Morskoi_kotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всех благодарю за ответы! Оказалось у меня данные кривые в базе были ((
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно написать CASE ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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