Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Из одной таблицы - разные результаты / 13 сообщений из 13, страница 1 из 1
25.04.2005, 13:02
    #33033143
lo-pata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
Есть таблица с реестром внутр. накладных. Из него стандартным селектом выбираются не закрытые. Этот же селект из таблицы с людями берет имена того, кто отпустил и того, кто принял. Вроде все просто: селект из 3-х таблиц, две из котых есть одна и та же но под разными алиасами. Но база глюканула непонятным образом: селект из этой таблицы под разными алиасами достает поля с именами разной длинны. Т.е. получаю курсор, в котором поле принял С(50), а поле отпустил С(3). Меняю таблицы в селекте - получаю с точностью до наоборот. Беру старую базу - в ней отбирает все ОК. Глюкнувшую базу переиндексировал - не помогает. Подскажите, где партаки?
...
Рейтинг: 0 / 0
25.04.2005, 13:06
    #33033157
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
Для полей принял/отпустил: PADR(<FieldName>,50)
...
Рейтинг: 0 / 0
25.04.2005, 13:08
    #33033163
lo-pata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
именно так в селекте у меня стоит и до этого стояло - не помогает....
...
Рейтинг: 0 / 0
25.04.2005, 13:11
    #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
25.04.2005, 13:12
    #33033172
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
Выложи данные, если не секрет. :)
...
Рейтинг: 0 / 0
25.04.2005, 13:17
    #33033179
lo-pata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
не вопрос :)
...
Рейтинг: 0 / 0
25.04.2005, 13:35
    #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
25.04.2005, 13:39
    #33033250
lo-pata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
Надеюсь коммерческая тайна, содержащаяся в опубликованных мной данных не выйдет за стены этого форума А если серьезно - то, чтобы прицепить сами таблицы, их пришлось пообрезать и, естественно, сам файл .dbc не влезал. Так что в архиве просто отдельные таблицы с индексами.
...
Рейтинг: 0 / 0
25.04.2005, 13:55
    #33033294
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
У тебя в DBMAN есть поля с .NULL. вот поэтому и секутся данные. Анализируй их через ISNULL() или NVL()
...
Рейтинг: 0 / 0
25.04.2005, 13:57
    #33033303
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
Уточнение. Есть dbvnakl.keyprin которых нет в dbman5.keyman, а так как связка по LEFT JOIN, то из dbman5 возвращаются .NULL.
...
Рейтинг: 0 / 0
25.04.2005, 14:28
    #33033416
lo-pata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
Спасибо! На отсутствие записей в таблице user-ов - смотрел бы в последнюю очередь. Не возникало даже мыслей таких. Так что действительно, спасибо огромное.
...
Рейтинг: 0 / 0
25.04.2005, 14:41
    #33033457
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
Еще одно замечания. Я иногда получал аналогичные ошибки работы SELECT-SQL в VFP при использовании функции IIF(...) в перечислении полей. Попробуй без IIF(...).
С уважением, Алексей.
...
Рейтинг: 0 / 0
25.04.2005, 14:59
    #33033530
lo-pata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Из одной таблицы - разные результаты
Да нет, с иифом все гут. Дело было именно в отсутствии юзеров. Еще раз спасибо :-)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Из одной таблицы - разные результаты / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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