Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оператор IIF, Что возвращает? 
V
    Опции темы
Thoron
Дата 1.3.2010, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 10.7.2008

Репутация: нет
Всего: 1



Добрый день. Подскажите где я ошибаюсь или чего не понимаю... 
Код

.......

select m.dat_;
  from putm m, tmp t;
  where m.no_ = t.cnt_;
  into cursor tmp_dat noconsole

select iif(isnull(td.dat_), t.dat_, td.dat_) as dt_;
  from tmp t, tmp_dat td;
  into cursor tmp_d noconsole


Суть в том, что в таблице tmp_dat может быть либо одна запись с датой либо вообще не быть. Вся проблема в операторе IIF, если в td.dat_ что-то есть, то возвращается td.dat_ и все замечательно, а если в td.dat_ ничего нет, то вместо t.dat_ возвращается пустая строка.
Где ошибка?
Заранее спасибо.
PM MAIL   Вверх
Akina
Дата 1.3.2010, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Правильно - пустая строка возвращается потому, что получается не содержащий строк набор.
Используй стороннее (left/right join) связывание.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Thoron
Дата 1.3.2010, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 10.7.2008

Репутация: нет
Всего: 1



Можно пример?
PM MAIL   Вверх
Thoron
Дата 1.3.2010, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 10.7.2008

Репутация: нет
Всего: 1



Работает.
Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Foxpro/Clipper/Dbase"
MoLeX

Запрещается!

1. Публиковать ссылки для чисто рекламных целей.

2. Оффтопить, флеймить, говорить не культурно.

Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему.

Задавайте вопросы правильно - как спросите, так вам и ответят.

Разрешено!

Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил.

Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы.

P.S. Размещение рекламы будет строго наказываться!



Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.