![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IN (....) [D7, IB6.x]
msc32 © (2007-06-20 11:50:00)Здравствуйте, уважаемые Мастера!
У меня проблема. Имеется такой запрос
select * from accounts_table where :day in (day1, day2, day3)
Как узнать в каком именно поле есть :day?
Просто в этой же таблице есть поля hour1, hour2, hour3, и мне надо выбрать только тот hour который соответствует day. Тоесть если
:day нашёлся в day2 то мне надо получить значение hour2.
Заранее спасибо за любую помощь.
MsGuns (2007-06-20 19:03:00) [1]>select * from accounts_table where :day in (day1, day2, day3)
select * from accounts_table where (day1=:day) or (day2=:day) or (day3=:day)
msc32 (2007-06-20 13:34:00) [2]> [14] Sergey13 © (20.06.07 13:14)
Спасибо, наверное я так и сделаю...
Sergey13 (2007-06-20 13:14:00) [3]> [12] msc32 (20.06.07 13:07)
Я бы сначала постарался понять предметную область которую описывает данная задача.
Но в 99% случаев таблица содежащая день и час + ссылка на объект к которому эти часы и дни соответствуют.
msc32 (2007-06-20 13:08:00) [4]*бы *Вы
msc32 (2007-06-20 13:07:00) [5]> [11] Sergey13 © (20.06.07 13:05)
приведите пример, пожалуйста, как бі Ві поступили в таком случае.
Sergey13 (2007-06-20 13:05:00) [6]> [2] msc32 (20.06.07 11:58)
Это у тебя поля в таблице такие dayN и hourN?
А структуру нет желания поменять?
msc32 (2007-06-20 13:04:00) [7]> [8] ЮЮ © (20.06.07 12:33)
А насчет изменения структуры, что бы Вы посоветовали для такого случая?
msc32 (2007-06-20 12:56:00) [8]Пасиба всем. Пойду пробовать
ЮЮ (2007-06-20 12:33:00) [9]
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 :)
etc (2007-06-20 12:27:00) [10]
> Виталий Панасенко ©
а что там этого нет? .... мда
Виталий Панасенко (2007-06-20 12:27:00) [11]без ХП не обойтись...
Виталий Панасенко (2007-06-20 12:25:00) [12]
> etc (20.06.07 12:21) [4]
> case надо применять
в IB 6.x ?
etc (2007-06-20 12:21:00) [13]case надо применять
Виталий Панасенко (2007-06-20 12:15:00) [14]теперь еще раз и внятно.. плюс структуру таблицы приведи
msc32 (2007-06-20 11:58:00) [15]> [1] Sergey13 © (20.06.07 11:53)
Например day1=четверг, day2=понедельник, day3=среда
Соответсвенно hour1=16:00, hour2=18:00, hour3=12:00
Скажем в параметре :day указан понедельник, тогда мне как-то нужно взять именно из поля hour2 значение 18:00.
Sergey13 (2007-06-20 11:53:00) [16]> [0] msc32 (20.06.07 11:50)
Что-то не понятно. Приведи пример данных и что нужно.