B
babreonok
Помогите ктонить! Я делаю выборку из 3-х таблиц базы данных с помощью следующего кода:
[sql]dtm.Query.SQL.Text:='SELECT maintable.gosregznak,maintable.markaauto,'+
'maintable.modelauto,maintable.identnum,maintable.type,maintable.kategory,'+
'maintable.godvupusk,maintable.shassi,maintable.kuzov,maintable.color,'+
'maintable.region,maintable.maxweight,maintable.emptyweight,'+
'maintable.DateUcheota,'+
'owner.sertnum,owner.family,owner.name,owner.Patronymic,owner.Direction,'+
'owner.Town,owner.Street,owner.House,owner.Korpus,owner.Apartment,'+
'owner.PasportSeriya,owner.PasportNum,motor.MotorNum,motor.Model,'+
'motor.Power,motor.WorkWolum';
dtm.Query.SQL.Add('FROM (maintable inner join owner on maintable.sertnum=owner.sertnum), (maintable inner join motor on maintable.motornum=motor.motornum)');
dtm.Query.SQL.Add('WHERE ('+asMainFilter+')');
dtm.Query.SQL.Add('order by maintable.gosregznak');
dtm.Query.Open;[/sql].В этой базе бывает так, что одной записи в таблице owner может соответствовать несколько записей в таблицах maintable и motor. При выполнении этого кода я получаю 6 (шесть) экземпляров записи удовлетворяющей условию, 3 из которых не содержат ни какой информации в полях таблицы owner. Что делать, чтобы получать только 1 копию записей?
[sql]dtm.Query.SQL.Text:='SELECT maintable.gosregznak,maintable.markaauto,'+
'maintable.modelauto,maintable.identnum,maintable.type,maintable.kategory,'+
'maintable.godvupusk,maintable.shassi,maintable.kuzov,maintable.color,'+
'maintable.region,maintable.maxweight,maintable.emptyweight,'+
'maintable.DateUcheota,'+
'owner.sertnum,owner.family,owner.name,owner.Patronymic,owner.Direction,'+
'owner.Town,owner.Street,owner.House,owner.Korpus,owner.Apartment,'+
'owner.PasportSeriya,owner.PasportNum,motor.MotorNum,motor.Model,'+
'motor.Power,motor.WorkWolum';
dtm.Query.SQL.Add('FROM (maintable inner join owner on maintable.sertnum=owner.sertnum), (maintable inner join motor on maintable.motornum=motor.motornum)');
dtm.Query.SQL.Add('WHERE ('+asMainFilter+')');
dtm.Query.SQL.Add('order by maintable.gosregznak');
dtm.Query.Open;[/sql].В этой базе бывает так, что одной записи в таблице owner может соответствовать несколько записей в таблицах maintable и motor. При выполнении этого кода я получаю 6 (шесть) экземпляров записи удовлетворяющей условию, 3 из которых не содержат ни какой информации в полях таблицы owner. Что делать, чтобы получать только 1 копию записей?