Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.28;
Скачать: CL | DM;

Вниз

IN (....)   Найти похожие ветки 

 
msc32   (2007-06-20 11:50) [0]

Здравствуйте, уважаемые Мастера!
У меня проблема. Имеется такой запрос
select * from accounts_table where :day in (day1, day2, day3)
Как узнать в каком именно поле есть :day?
Просто в этой же таблице есть поля hour1, hour2, hour3, и мне надо выбрать только тот hour который соответствует day. Тоесть если
:day нашёлся в day2 то мне надо получить значение hour2.
Заранее спасибо за любую помощь.


 
Sergey13 ©   (2007-06-20 11:53) [1]

> [0] msc32   (20.06.07 11:50)

Что-то не понятно. Приведи пример данных и что нужно.


 
msc32   (2007-06-20 11:58) [2]

> [1] Sergey13 ©   (20.06.07 11:53)
Например day1=четверг, day2=понедельник, day3=среда
Соответсвенно hour1=16:00, hour2=18:00, hour3=12:00
Скажем в параметре :day указан понедельник, тогда мне как-то нужно взять именно из поля hour2 значение 18:00.


 
Виталий Панасенко ©   (2007-06-20 12:15) [3]

теперь еще раз и внятно.. плюс структуру таблицы приведи


 
etc   (2007-06-20 12:21) [4]

case надо применять


 
Виталий Панасенко ©   (2007-06-20 12:25) [5]


> etc   (20.06.07 12:21) [4]
> case надо применять

в IB 6.x ?


 
etc   (2007-06-20 12:27) [6]


> Виталий Панасенко ©

а что там этого нет? .... мда


 
Виталий Панасенко ©   (2007-06-20 12:27) [7]

без ХП не обойтись...


 
ЮЮ ©   (2007-06-20 12:33) [8]

select 1 idx, hours1 hours from accounts_table where day1 = :day
union
select 2, hours2 from accounts_table where day2 = :day
union
select 3, hours3 from accounts_table where day3 = :day


первое поле расскажет откуда hours взято.
P.S. А вообще лучше структуру менять, пока не поздно (вдруг позникнет необходимость в hours4 и day4 :)


 
msc32   (2007-06-20 12:56) [9]

Пасиба всем. Пойду пробовать


 
msc32   (2007-06-20 13:04) [10]

> [8] ЮЮ ©   (20.06.07 12:33)
А насчет изменения структуры, что бы Вы посоветовали для такого случая?


 
Sergey13 ©   (2007-06-20 13:05) [11]

> [2] msc32   (20.06.07 11:58)

Это у тебя поля в таблице такие dayN и hourN?
А структуру нет желания поменять?


 
msc32   (2007-06-20 13:07) [12]

> [11] Sergey13 ©   (20.06.07 13:05)
приведите пример, пожалуйста, как бі Ві поступили в таком случае.


 
msc32   (2007-06-20 13:08) [13]

*бы *Вы


 
Sergey13 ©   (2007-06-20 13:14) [14]

> [12] msc32   (20.06.07 13:07)

Я бы сначала постарался понять предметную область которую описывает данная задача.
Но в 99% случаев таблица содежащая день и час + ссылка на объект к которому эти часы и дни соответствуют.


 
msc32   (2007-06-20 13:34) [15]

> [14] Sergey13 ©   (20.06.07 13:14)

Спасибо, наверное я так и сделаю...


 
MsGuns ©   (2007-06-20 19:03) [16]

>select * from accounts_table where :day in (day1, day2, day3)

select * from accounts_table where (day1=:day) or (day2=:day) or (day3=:day)



Страницы: 1 вся ветка

Текущий архив: 2007.10.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.047 c
2-1191593097
Vitek2
2007-10-05 18:04
2007.10.28
"Сохранить" и "Сохранить как..".


1-1186729609
vamp_avp
2007-08-10 11:06
2007.10.28
Передача данных в Word


2-1191579972
Mariya
2007-10-05 14:26
2007.10.28
Объявление переменной


15-1190871552
KSergey
2007-09-27 09:39
2007.10.28
Про докуметны для всяких контор


6-1172579067
SergGuk
2007-02-27 15:24
2007.10.28
DDE + сеть





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский