Главная страница
    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.042 c
15-1137697662
Ломброзо
2006-01-19 22:07
2006.02.12
Вопрос по конечным автоматам


3-1134258885
orbal
2005-12-11 02:54
2006.02.12
DBGridEh - PickList


3-1134388793
WG
2005-12-12 14:59
2006.02.12
После индексирования dbf-файла некорректно работает select (SQL)


11-1118179095
Thaddy
2005-06-08 01:18
2006.02.12
Interested in KOL+ Wine?


5-1124975647
Aleksandr.
2005-08-25 17:14
2006.02.12
Что сделать с некорректной отрисовкой TCustomListBox?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский