|
|
|
Интересная ситуация с OR в select'e DW
|
|||
|---|---|---|---|
|
#18+
Возмодно, это секрет Полишенеля, но только что обнаружил крайне странное поведение DW, в основе которого лежит SELECT с OR. Генерируемый синтакс таков: SELECT * FROM "OCST_IESH" WHERE ( "OCST_IESH"."ID_SHIPMENT_OWNER" = -100 ) OR ( "OCST_IESH"."ID_SHIPMENT_OWNER" = -101 ) Всё бы ничего, если бы не использовать такое DW в режиме QueryMode. Тогда WHERE превращается в WHERE ( "OCST_IESH"."ID_SHIPMENT_OWNER" = -100 ) or ( "OCST_IESH"."ID_SHIPMENT_OWNER" = -101 ) and ((("OCST_IESH"."SHIPMENT" = '00000000'))) , что логически совершенно НЕПРАВИЛЬНО!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2006, 18:17 |
|
||
|
Интересная ситуация с OR в select'e DW
|
|||
|---|---|---|---|
|
#18+
А если обе части OR взять в скобки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2006, 13:02 |
|
||
|
Интересная ситуация с OR в select'e DW
|
|||
|---|---|---|---|
|
#18+
Вопрос не в том, чтобы самому пририсовать необходимые скобки, а, скорее, в том, чтобы РВ сам их правильно расставлял, а не втыкал бы их куда попало, хотя и правильно с точки зрения синтаксиса, как здесь: WHERE ( "OCST_IESH"."ID_SHIPMENT_OWNER" = -100 ) OR ( "OCST_IESH"."ID_SHIPMENT_OWNER" = -101 ) Какого рожна здесь появляются "правильные", но абсолютно ни к месту, скобки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2006, 16:20 |
|
||
|
Интересная ситуация с OR в select'e DW
|
|||
|---|---|---|---|
|
#18+
Если этот синтаксис сгенерирован графическим построителем запроса, то правильно делать, это сразу Convert To Syntax и писать ручками корректный запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2006, 17:00 |
|
||
|
Интересная ситуация с OR в select'e DW
|
|||
|---|---|---|---|
|
#18+
Да, ручкми можно многое сделать. Но на мой взгляд, ручки бы лучше к нестандартным вещам прикладывать, а стандартные вещи не плохо бы получить от производителя. А то из-за отсутствия стандартных, казалось бы, мелочей как то портится общее впечатление. Например, в режиме запроса: нет стандартной поддержки IS NULL - NOT IS NULL нельзя сказать between по датам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2006, 18:14 |
|
||
|
Интересная ситуация с OR в select'e DW
|
|||
|---|---|---|---|
|
#18+
urvasНапример, в режиме запроса: нет стандартной поддержки IS NULL - NOT IS NULL нельзя сказать between по датам Это имелось ввиду или что-то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2006, 19:36 |
|
||
|
|

start [/forum/topic.php?fid=15&fpage=74&tid=1337902]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 389ms |

| 0 / 0 |
