|
|
|
| Привет!
Есть таблица, в которой требуется заменить коды регионов РФ на их названия из другой таблички.
Таблицы связаны по полю "КодРегиона".
Добавляю в конструкторе запроса новый столбец:
Регион: IIf(IsNull([2008.КодРегиона]);"неизвестно";[Регионы.ТерриторияРФ])
(т.е. добавить в таблицу "2008" столбец "Регион"; если поле КодРегиона незаполнено, в "Регионе" указать "неизвестно", в противном случае заменить код на название региона - из таблицы "Регионы")
В итоге коды правильно подставляются, но Аксес игнорирует записи с незаполненными кодами, т.е. не подставляет "неизвестно" в пустые поля и не выдает их
Где я туплю? | |
|
| |
|
|
|
| а так?
IIf(nz([2008.КодРегиона];"")="";"неизвестно";[Регионы.ТерриторияРФ]) | |
|
| |
|
|
|
| Не помогло, к сожалению... "Пустышки" все равно не отображает... | |
|
| |
|
|
|
|
| SELECT ...
FROM Регионы INNER JOIN (2008_de INNER JOIN 2008_do ON [2008_de].ND = [2008_do].ND) ON Регионы.КодРегиона = [2008_de].КодРегиона
WHERE IIf(IsNull([2008_de.КодРегиона]),"неизвестно",[Регионы.Территория РФ]);
Это вариант не с добавлением нового стобца, а просто с заменой кодов.
(Cвязи такие нелепые, т.к. работать приходится с объемными, присоединенными к базе DBF-таблицами - 2008_de и 2008_do...) | |
|
| |
|
|
|
| почему это в секции Where ?
Это должно быть в select
select ,,,,,,IIf(IsNull([2008_de.КодРегиона]),"неизвестно",[Регионы.Территория РФ]) from ......
или я чего-то не понимаю? | |
|
| |
|
|
|
| Прошу прощения... Запутала вас - да, это в select.
Просто через where я тоже пыталась достигнуть результата...
SELECT ..., IIf(IsNull([2008_de.КодРегиона]),"неизвестно",[Регионы.ТерриторияРФ]) AS Регион, ...
FROM Регионы INNER JOIN (2008_de INNER JOIN 2008_do ON [2008_de].ND = [2008_do].ND) ON Регионы.КодРегиона = [2008_de].КодРегиона
Но погоды это не меняет | |
|
| |
|
|
|
| Вместо INNER JOIN должно быть LEFT JOIN. | |
|
| |
|
|
|
| Анатолий, сейчас попробую! | |
|
| |
|
|
|
| Неа, все то же
Может, это из-за того, что обрабатываются присоединенные дбф-ки... Загадка! | |
|
| |
|
|
|
| попробуйте и с leftjoin и с nz(... вместо isnull | |
|
| |
|
|
|
| Покажите последний вариант неработающего запроса с LEFT JOIN-ами. | |
|
| |
|
|
|
| Все нормально работает, проблема оказалась в несоответствии некоторых кодов...
Поскольку таблицы очень большие, не отследила все в начале работы.
А совет с LEFT JOIN-ами помог в других запросах! Функцию Nz также взяла на вооружение. Огромное спасибо!!! | |
|
| |