powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Из одной таблицы - разные результаты
13 сообщений из 13, страница 1 из 1
Из одной таблицы - разные результаты
    #33033143
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица с реестром внутр. накладных. Из него стандартным селектом выбираются не закрытые. Этот же селект из таблицы с людями берет имена того, кто отпустил и того, кто принял. Вроде все просто: селект из 3-х таблиц, две из котых есть одна и та же но под разными алиасами. Но база глюканула непонятным образом: селект из этой таблицы под разными алиасами достает поля с именами разной длинны. Т.е. получаю курсор, в котором поле принял С(50), а поле отпустил С(3). Меняю таблицы в селекте - получаю с точностью до наоборот. Беру старую базу - в ней отбирает все ОК. Глюкнувшую базу переиндексировал - не помогает. Подскажите, где партаки?
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033157
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для полей принял/отпустил: PADR(<FieldName>,50)
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033163
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
именно так в селекте у меня стоит и до этого стояло - не помогает....
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033171
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
написано примерно так:

Код: plaintext
1.
2.
3.
padr(left(dbman.name,at(' ',dbman.name,1))+substr(dbman.name,at(' ',dbman.name)+1,1)+'.'+;
+substr(dbman.name,at(' ',dbman.name,2)+1,1)+'.',50) as nameprin, ;
padr(left(dbman5.name,at(' ',dbman5.name,1))+substr(dbman5.name,at(' ',dbman5.name)+1,1)+'.'+;
+substr(dbman5.name,at(' ',dbman5.name,2)+1,1)+'.',50) as nameotp,
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033172
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложи данные, если не секрет. :)
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033179
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не вопрос :)
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033235
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сам селект:

select ;
dbvnakl.keyvnakl, ;
padr(left(dbman.name,at(' ',dbman.name,1))+substr(dbman.name,at(' ',dbman.name)+1,1)+'.'+;
+substr(dbman.name,at(' ',dbman.name,2)+1,1)+'.',50) as nameprin, ;
padr(left(dbman5.name,at(' ',dbman5.name,1))+substr(dbman5.name,at(' ',dbman5.name)+1,1)+'.'+;
+substr(dbman5.name,at(' ',dbman5.name,2)+1,1)+'.',50) as nameotp, ;
dbvnakl.number, dbvnakl.data, dbobj.shifr, ;
dbdog.name as namedog, dbobj.name as nameobj, dbzak.name as namezak, ;
iif(dbvnakl.source=1,alltr(str(dbdov.number))+' серия '+dbdov.seria , ;
'С объекта (склада)') as dover, alltr(dbobj.address) as address ;
from dbvnakl ;
left join dbman5 on dbvnakl.keyprin=dbman5.keyman ;
left join dbdog on dbvnakl.keydog2=dbdog.keydog ;
left join dbobj on dbdog.keyobj = dbobj.keyobj ;
left join dbzak on dbobj.keyzak=dbzak.keyzak ;
left join dbdov on dbvnakl.keydog1=dbdov.keydov ;
left join dbman on dbvnakl.keyotp=dbman.keyman ;
order by 5 desc, 4 desc;
into cursor tmpvnaklprint1
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033250
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надеюсь коммерческая тайна, содержащаяся в опубликованных мной данных не выйдет за стены этого форума А если серьезно - то, чтобы прицепить сами таблицы, их пришлось пообрезать и, естественно, сам файл .dbc не влезал. Так что в архиве просто отдельные таблицы с индексами.
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033294
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя в DBMAN есть поля с .NULL. вот поэтому и секутся данные. Анализируй их через ISNULL() или NVL()
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033303
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточнение. Есть dbvnakl.keyprin которых нет в dbman5.keyman, а так как связка по LEFT JOIN, то из dbman5 возвращаются .NULL.
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033416
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! На отсутствие записей в таблице user-ов - смотрел бы в последнюю очередь. Не возникало даже мыслей таких. Так что действительно, спасибо огромное.
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033457
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще одно замечания. Я иногда получал аналогичные ошибки работы SELECT-SQL в VFP при использовании функции IIF(...) в перечислении полей. Попробуй без IIF(...).
С уважением, Алексей.
...
Рейтинг: 0 / 0
Из одной таблицы - разные результаты
    #33033530
lo-pata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да нет, с иифом все гут. Дело было именно в отсутствии юзеров. Еще раз спасибо :-)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Из одной таблицы - разные результаты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]