Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

Подскажите по join   Найти похожие ветки 

 
Alex_V ©   (2006-01-23 07:19) [0]

Есть запрос, который выбирает данные из четырех таблиц:

SELECT D.LCHET1, D.NCHETA, D3.FAMILY, D3.NAME, D3.FATHER, D.SUMMA, D.METKA, D2.KOD, D2.NM, D1.NM as NM_FIL
FROM ":db_inso:sb_print.dbf" D, ":db_inso:DB1.DBF" D3, ":db_inst:SB_K.DBF" D1, ":db_inst:SB_BANK.DBF" D2
WHERE
(D1.KOD = D.METKA)
AND (D2.KOD = D1.BANK)
AND (D.LCHET1=D3.LCHET)
AND (IST<>"")
AND (d2.kod=:kod)
ORDER BY D1.NM, D3.FAMILY, D.NCHETA

как правильно переписать его с использованием join сколько не пробовал, запрос выполняется тучу времени и толку нет, понимаю что что то не так пишу в условиях, но не пойму где...помогите....И еще замечено что при наличии более 15 с копейками тысяч записей в таблице D и программа вылетает с ошибкой Read from address:00000000...


 
Desdechado ©   (2006-01-23 11:30) [1]

> с использованием join
так у тебя и так он используется, только неявно
или тебе внешний джойн нужен?

кстати, IST - из какой таблицы?


 
Alex_V ©   (2006-01-23 12:25) [2]

ist из таблицы D, переписал с явным указанием join, разобрался вроде, ошибка не прошла....в чем дело не пойму, помогите, работа горит, как только число записей в таблице D меньше чем 15000 с копейками ошибка пропадает....Голова уже набекрень... Access violation at address: 00000000 Read from address: 00000000 Понятно что куда то в память залезает не туда куда нужно, но вот куда понять не могу....Да и почему от кол-ва записей зависит...


 
Desdechado ©   (2006-01-23 12:42) [3]

компоненты доступа какие?
сколько строк должно быть в результате?
для эксперимента отключи сортировку


 
Alex_V ©   (2006-01-24 04:23) [4]

Доступ через BDE, Table, Query, количество строк в результате <= количеству строк в таблице D, отключение сортировки не помогло, ошибка та же....еще варианты???


 
ЮЮ ©   (2006-01-24 06:01) [5]

А если убрать "длмнные" текстовые поля D3.FAMILY, D3.NAME, D3.FATHER, D1.NM из SELECT, ситуация изменится? Если да, то добавь Lookup поля для их получения


 
Alex_V ©   (2006-01-24 06:24) [6]

убрал из запроса текстовые поля, ситуация та же, ошибка осталась, да поясню, с базой я делать ничего не могу, только смотреть изменять ее нельзя, так что добавить поля при всем желании не получится...Или я что то не правильно понял?


 
ASoft   (2006-01-24 07:33) [7]

без псевдонимов пробовал?


 
Alex_V ©   (2006-01-24 09:42) [8]

Дык и с псевдонимами работает если в таблице D записей меньше 15300 если больше то все, ошибка....


 
Desdechado ©   (2006-01-24 12:03) [9]

а зачем 15 тыщ записей на клиенте?

по поводу "убрать поля" - не из таблицы, а из запроса
а потом на клиенте их можно представить Lookup-полями из других справочников


 
Alex_V ©   (2006-01-24 18:33) [10]

Да я понял, :) спасибо всем, вроде разобрался я , переписал запрос с явным указанием join и подработал условия и вроде все пошло.... Результат трудов скинуть? мож тогда проанализируем и поймем почему вываливалась ошибка? :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.044 c
1-1137350002
Gnobobel
2006-01-15 21:33
2006.02.12
Вызов функций EXE из DLL


2-1138083711
Mike48
2006-01-24 09:21
2006.02.12
Подскажите литературу......


2-1138260734
diwww
2006-01-26 10:32
2006.02.12
не работает VBScript


2-1138121355
Ell
2006-01-24 19:49
2006.02.12
Как уменьшить размер программы?


1-1137063029
Ega23
2006-01-12 13:50
2006.02.12
Как узнать ParentFont?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский