Главная страница
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.49 MB
Время: 0.021 c
6-1168705868
vidiv
2007-01-13 19:31
2007.10.28
сетевой select в INDY


2-1191416861
KLAUS
2007-10-03 17:07
2007.10.28
IP адрес


15-1190718469
passlight
2007-09-25 15:07
2007.10.28
Завораживающий боян :-)


11-1175206803
nester
2007-03-30 02:20
2007.10.28
БагРепорт: RegKeyGetValueNames съедает последнюю букву


1-1187341894
wsv
2007-08-17 13:11
2007.10.28
Поиск минимумов-максимумов.