Главная страница
    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.047 c
2-1184748455
Groza
2007-07-18 12:47
2007.08.12
Как поменять метку диска с помощью Delphi?


15-1184343999
tesseract
2007-07-13 20:26
2007.08.12
Питер буду часов в 8 утра.


15-1184526396
Rembo
2007-07-15 23:06
2007.08.12
delphi2007 установка компонентов


15-1184160100
IMHO
2007-07-11 17:21
2007.08.12
Слово о дефиците


2-1184756653
ouchs
2007-07-18 15:04
2007.08.12
uses для функции PostVirtualKeyEvent





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