Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2017, 14:38   #1
fqwfqfqw
 
Регистрация: 29.05.2017
Сообщений: 3
Восклицание COALESCE -

Всем привет. Столкнулся с такой проблемой. Вот этот запрос выдает null, если нет ни одного совпадения...


select COALESCE(m.Chena_1_stuca,1)
FROM material_opora m , sklad e
where (e.naim_det) in m.nazvanie;

Подскажите плыз, как переделать этот запрос, чтобы возвращала 1 вместо null...
fqwfqfqw вне форума Ответить с цитированием
Старый 29.05.2017, 15:17   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Я так понял, у Вас запрос вообще данных не возвращает (то есть пустая выборка получается)? Если да - то проблема в условии

Код:
where (e.naim_det) in m.nazvanie;
Тогда при чём тут COALESCE(m.Chena_1_stuca,1), если оно возвращает 1 в случае, когда поле m.Chena_1_stuca IS NULL?

Кстати, если m.Chena_1_stuca может содержать как NULL, так и '' (пустая строка), то её лучше записывать в виде:

Код:
COALESCE(NULLIF(<поле>, ''), 1);
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 29.05.2017, 15:36   #3
fqwfqfqw
 
Регистрация: 29.05.2017
Сообщений: 3
По умолчанию

Спасибо, за внимание, но проблему уже решил))
fqwfqfqw вне форума Ответить с цитированием
Старый 29.05.2017, 15:37   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Тот запрос вообще не должен выполняться - where синтаксически не верен. where e.naim_det in (m.nazvanie) другое дело, но какая-то извращенная логика в этом. ТС чего получить то нужно?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.05.2017, 15:44   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Тот запрос вообще не должен выполняться
И то верно, я и внимания не обратил
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В коде php попалась функция coalesce(). Что она означает? var_fj54j PHP 4 24.04.2013 10:47