Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Select   Найти похожие ветки 

 
Jacks ©   (2007-04-25 17:12) [0]

Уважаемые мастера помогите пожалуйста. Вот таким запросом выбираю записи из таблици:
datamodule1.search_query.SQL.Add("Select zakaz.id, zakaz.data_zakaza, zakaz.klient, Stoimost.obshaya");
datamodule1.search_query.SQL.Add("From zakaz, Stoimost, zakaz_avtobus");
datamodule1.search_query.SQL.Add("Where (Stoimost.key=zakaz.id) and (zakaz_avtobus.№kuzova="""+skuzov.Text+""")");
datamodule1.search_query.Active:=true;

Он отбереает записи без проблем но в DBGrid мне выводит 5 записей обсолютно одинаковых хотя в базе она присутствует одна. Что делать?


 
Reindeer Moss Eater ©   (2007-04-25 17:19) [1]

Честно выводит то, что ты и попросил.
Декартово произведение таблиц.


 
Johnmen ©   (2007-04-25 17:19) [2]

Нет связывания таблицы zakaz_avtobus с остальными.


 
zdm ©   (2007-04-25 17:21) [3]

однозначно-нарушение логики реляции БД. Смотри внимательней таблицы и их "ключовку"


 
Плохиш ©   (2007-04-25 17:21) [4]

Значит в таблице Stoimost есть несколько записей с Stoimost.key=zakaz.id
И хотелось бы узнать, что делает в этом запросе таблица zakaz_avtobus?


 
Reindeer Moss Eater ©   (2007-04-25 17:22) [5]

И хотелось бы узнать, что делает в этом запросе таблица zakaz_avtobus?

<Цитата>

Как что?
Умножает выборку на свои пять записей.


 
Jacks ©   (2007-04-25 17:29) [6]

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


 
Плохиш ©   (2007-04-25 17:31) [7]


> Jacks ©   (25.04.07 17:29) [6]

В твоём запросе все таблицы равнозначны и в [1] тебе даже научное название результата сказали...


 
Jacks ©   (2007-04-25 17:32) [8]

Ну а можете подсказать как правьльно такой запрос составить, или как в запросе указать связь таблиц


 
Desdechado ©   (2007-04-25 17:35) [9]

> выводит 5 записей обсолютно одинаковых хотя в базе она присутствует одна
> нет там 5ти записей там их всего 3
Коньяк? Самогон? Почему в показаниях путаешься?
См. [2]. Если не понял, изучай теорию.


 
Desdechado ©   (2007-04-25 17:36) [10]

>  как в запросе указать связь таблиц
По ключевым полям, если таковые имеются. Если нет, завести.


 
Jacks ©   (2007-04-25 17:39) [11]

Ну так поля id и key и есть ключевые


 
zdm ©   (2007-04-25 17:41) [12]

... дойдем до маразма..., например
таблица  клиенты
код|название

таблица сотрудники_клиента
код|код_клиента|фио

select сотрудники_клиента.фио from клиенты, сотрудники_клиента
where сотрудники_клиента.код_клиента=клиенты.код


 
Desdechado ©   (2007-04-25 17:56) [13]

> Ну так поля id и key и есть ключевые
А автобус без ключа зажигания заводится? И по 3-5 раз на один заказ?



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

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
15-1184149445
vpbar
2007-07-11 14:24
2007.08.12
Статья 146 УК РФ. Нарушение авторских и смежных прав


2-1184592686
avp
2007-07-16 17:31
2007.08.12
Чем отличаются фундаментальные типы данных от общих?


2-1184832133
Combo
2007-07-19 12:02
2007.08.12
Как изменить пароль на Access?


1-1180699210
DevilDevil
2007-06-01 16:00
2007.08.12
Frame.OldCreateOrder,PixelsPerInch,TextHeight. Откуда?


9-1157371461
Provodnick
2006-09-04 16:04
2007.08.12
Проблема с дисплейным списком.