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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.063 c
1-1181129428
oleg_teacher
2007-06-06 15:30
2007.08.12
Как узнать для какого обекта было вызвано


6-1167913424
Темный2
2007-01-04 15:23
2007.08.12
Передача данных в локальной сети


15-1184588198
Darvin
2007-07-16 16:16
2007.08.12
Сообщение Windows с кодом $B03F


15-1184238277
Михаил Сергеевич
2007-07-12 15:04
2007.08.12
Предложение создать среду разработки аналогичную 1С


3-1177506771
Jacks
2007-04-25 17:12
2007.08.12
Select





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