|
|
|
Сравнение дат и case в запросе
|
|||
|---|---|---|---|
|
#18+
Здравствуйте все!!! Помогите пожалуйста с запросом. Проблема такая: в таблице есть поле Srok, означающее предположительную дату закрытия заявки, Datzakr, непосредственная дата закрытия заявки. Задача в том чтобы отобразить простроченные заявки, т.е. если Datzakr isnull, тогда Srok сравнивается с текущей датой, а если Datzakr заполнена, то Srok сравнивается с Datzakr. Пишу так: select * from zayav where kodzayav=2 and CONVERT ( smalldatetime , srok,11) < CONVERT ( smalldatetime , case a.datzakr when null then getdate() else a.datzakr end,11) Ничего не выводит, хотя вроде должен.... что не так??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 09:42:31 |
|
||
|
Сравнение дат и case в запросе
|
|||
|---|---|---|---|
|
#18+
Не совсенм понятно. Лучше приведите несколько записей и конечный результат. А так, на первый взгляд, непонятно (описка или нет) в запросе в условии используется алисас "а", а откуда он и что из себя представляет не понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 09:54:06 |
|
||
|
Сравнение дат и case в запросе
|
|||
|---|---|---|---|
|
#18+
Не совсенм понятно. Лучше приведите несколько записей и конечный результат. А так, на первый взгляд, непонятно (описка или нет) в запросе в условии используется алисас "а", а откуда он и что из себя представляет не понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 09:55:49 |
|
||
|
Сравнение дат и case в запросе
|
|||
|---|---|---|---|
|
#18+
Вообще-то, девушка, вы спрашиваете не в том форуме. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 09:58:25 |
|
||
|
Сравнение дат и case в запросе
|
|||
|---|---|---|---|
|
#18+
HandKot непонятно (описка или нет) в запросе в условии используется алисас "а", а откуда он и что из себя представляет не понятно Да это описка, дело в том, что в запросе используются данные и из других таблиц, так чтоб Вам голову лишним не забивить, оставила этот кусочек. Алиас а. это от таблицы zayav, она в данном случае главная. Т.е. получается так: select * from zayav a where kodzayav=2 and CONVERT ( smalldatetime , srok,11) < CONVERT ( smalldatetime , case a.datzakr when null then getdate() else a.datzakr end,11) kodzayav- это просто дополнительный указатель, можно обойтись и без него. Главная, проблема с case-сом, по книжке должно сработать, а не хочет((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 10:00:24 |
|
||
|
Сравнение дат и case в запросе
|
|||
|---|---|---|---|
|
#18+
Спасибо Melkiades, помогло. Но почему вы решили, что я спрашиваю не на том форуме? В какой же мне тогда надо если я работаю с Visual Basic? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 11:11:44 |
|
||
|
Сравнение дат и case в запросе
|
|||
|---|---|---|---|
|
#18+
PluxСпасибо Melkiades, помогло. Но почему вы решили, что я спрашиваю не на том форуме? В какой же мне тогда надо если я работаю с Visual Basic? У вас же были проблемы с запросом к SQL-серверу? Про VB в вашем сообщении я не вижу ни слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 11:38:06 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33416357&tid=2166750]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 409ms |

| 0 / 0 |
