Delphi и Sql

Тема в разделе "Delphi - Базы данных", создана пользователем babreonok, 5 окт 2006.

Статус темы:
Закрыта.
  1. babreonok

    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 копию записей?
     
  2. Barmutik

    Barmutik Гость

    Составить правильно SQL запрос .. судя по Вашим словам у Вас присутствует отношение один ко многим в таблицах owner с остальными ...

    Вам надо объяснить Вашей БД какую брать запись из подчинённых таблиц .. если Вы конкретно хотите только одну то используйте агрегатные фукнции для получения первоначально курсора из подчинённых таблиц а уже потом джойньте его с основной таблицей ...
     
  3. babreonok

    babreonok Гость

    Barmutik, а можешь посоветоввать хорошее пособие по скюэлю?
     
  4. Barmutik

    Barmutik Гость

    Мммм.. у меня когда-то первая книга была .. Сборник задач для языка SQL... там сначла давался материал а после уже по нему шли задачи ...

    На текущий момент что-то более свежее врядли могу посоветовать.. возьмите любой справочник по ANSI SQL ...
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей