Форум: "Базы";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c