|
Помочь составить SQL запрос
|
|||
---|---|---|---|
#18+
не могу вспомнить, а также найти .. простой запрос SELECT a.tip,IIF(ISNULL(spr_tip.tip),"",spr_tip.naim_tip) FROM a LEFT OUTER JOIN spr_tip ON a.tip = VAL(spr_tip.tip) Если в таблице а есть код типа, а в таблице spr_tip, этого кода нет, как сделать, чтоб запрос не заполнял в наименовании .NULL., а просто написал пробел.... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2011, 10:38 |
|
Помочь составить SQL запрос
|
|||
---|---|---|---|
#18+
Надо не одиночный пробел, а столько пробелов, какова размерность поля spr_tip.naim_tip. При этом на NULL надо сравнивать не код, а собственно то поле, которое и предполагается заменять Код: plaintext 1. 2. 3. 4.
Комбинацию IIF(ISNULL(),...,...) можно заменить функцией NVL(), которая делает то же самое Код: plaintext 1. 2. 3. 4.
Разумеется, результат будет не однозначным, если поле spr_tip.naim_tip само по себе может иметь значение NULL ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2011, 11:10 |
|
Помочь составить SQL запрос
|
|||
---|---|---|---|
#18+
ВладимирМ, спасибо..:-), повторил ваш селект точно всё нормально.. у меня стояло вместо space(10), в выражении SPACE(LEN(spr_tip.naim_tip)), ну вдруг поле naim_tip будет длину менять(не во время выполнения select, а со временем), вот на всякий случай и сделал... теперь понятно, что надо точно указывать длину символьного поля и в первом и во втором варианте... спасибо...ВладимирМ, ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2011, 18:26 |
|
|
start [/forum/topic.php?fid=41&fpage=68&tid=1584085]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 269ms |
total: | 389ms |
0 / 0 |