|
|
|
разветвленные условия в SELECT-е
|
|||
|---|---|---|---|
|
#18+
Добрый вечер! вот какой вопрос конструкция типа SELECT PATIENTS.NAME, CASE PATIENTS.SEX WHEN 0 THEN 'баба' WHEN 1 THEN 'мужик' END и т.д. легко пишется внутри селекта теперь предположим ,что я хочу получить такой результат SELECT PATIENTS.* FROM PATIENTS WHERE , CASE PATIENTS.SEX WHEN 1 THEN PATIENTS.PRIZIVNIK=TRUE WHEN 0 THEN PATIENTS.ROZHALA_DETEI>2 END, я конечно могу записать SELECT PATIENTS.* FROM PATIENTS WHERE (PATIENTS.SEX=1 OR PATIENTS.ROZHALA_DETEI>2) AND (PATIENTS.PRIZIVNIK=TRUE OR PATIENTS.SEX=0) но насколько все это будет быстро работать на большой базе, есть ли кострукция ,которая позволяет писать разветвленные условия более элегантно? спасибо за внимание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2002, 22:48:38 |
|
||
|
разветвленные условия в SELECT-е
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. Судя по названиям полей, не всё в порядке в структуре базы, но надеюсь вы и сами это знаете. Мне эта конструкция жутко не нравится, но она работает, и достаточно быстро на больших обьёмах. P.S. Почти невероятно встретить ситуацию когда Код: plaintext Код: plaintext вполне возможна. Как вы в таких случаях поступать будете? P.P.S. Сорри за занудство, но по моему мнению было-бы лучше сделать: 0 - Женщина, 1 - Мужчина, как-бы логичнее... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2002, 02:36:11 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32074395&tid=1818392]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 351ms |

| 0 / 0 |
