![]() |
|
|
![]()
|
|
| SareN |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 25.8.2009 Репутация: нет Всего: нет |
Значит у мня следующий вопрос:
У меня есть 3 таблицы: __________________________________________________________ 1. Номенклатура __________________________________________________________ НАЗВАНИЕ ВИД БРЕНД LG-1530 Стиральная машина LG Sony Ericsson z550i Сотовый телефон Sony Ericsson HP Deskjet D1360 Принтер HP Acer AL1916 Монитор Acer Samsung ES10 Фотокамера Samsung __________________________________________________________ 2. Клиенты __________________________________________________________ ФИО АДРЕС ТЕЛЕФОН Иванов Степан Анатольевич Северная,22-1 3-45-12 Кузнецова Вероника Павловна Алтайская,70-4 923-648-12-13 Мельников Сергей Алексеевич Федоренко,12-23 913-177-10-91 Аброськин Евгений Сергеевич Тихвинская,34-15 3-72-38 Иванов Степан Анатольевич Алтайская,56-80 4-65-76 ____________________________________________________________________________________ 3. Сводная ____________________________________________________________________________________ НОМЕНКЛАТУРА КОЛИЧЕСТВО КЛИЕНТ ДАТА ПРИЁМА МАСТЕР LG-1530 1 Кузнецова Вероника Павловна 12/14/08 Абдулов Sony Ericsson z550i 1 Мельников Сергей Алексеевич 02/28/09 Струков HP Deskjet D1360 1 Иванов Степан Анатольевич 03/24/09 Абдулов Acer AL1916 1 Иванов Степан Анатольевич 03/25/09 Волков Samsung ES10 1 Аброськин Евгений Сергеевич 04/12/09 Струков ____________________________________________________________________________________ Как видно в клиентах имеются 2 полных тёски (Иванов Степан Анатольевич), но разные адреса! Мне нужно после запроса по ФИО клиента (Иванов Степан Анатольевич) выдать следующее: ____________________________________________________________________________________ НОМЕНКЛАТУРА КОЛИЧЕСТВО КЛИЕНТ ДАТА ПРИЁМА МАСТЕР HP Deskjet D1360 1 Иванов Степан Анатольевич 03/24/09 Абдулов Acer AL1916 1 Иванов Степан Анатольевич 03/25/09 Волков ____________________________________________________________________________________ А он выдает следующее: ____________________________________________________________________________________ НОМЕНКЛАТУРА КОЛИЧЕСТВО КЛИЕНТ ДАТА ПРИЁМА МАСТЕР HP Deskjet D1360 1 Иванов Степан Анатольевич 03/24/09 Абдулов Acer AL1916 1 Иванов Степан Анатольевич 03/25/09 Волков HP Deskjet D1360 1 Иванов Степан Анатольевич 03/24/09 Абдулов Acer AL1916 1 Иванов Степан Анатольевич 03/25/09 Волков ____________________________________________________________________________________ короче такой вот повтор!! Как этого избежать??? ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!!!! |
|||
|
||||
| pavelv |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
Кинь запрос которые сам пишешь. Есть уникальное поле у таблицы с людьми?
|
|||
|
||||
| SareN |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 25.8.2009 Репутация: нет Всего: нет |
Вот мой запрос по фамилии Имени Отчеству:
SELECT DISTINCT c.fio,c.adres,c.telefon,a.nomen,a.vid,a.brend,b.kolich,b.d_priem,b.d_konec,b.d_vidacha,b.sost,b.master,b.n_priem,b.n_vidacha FROM db\nomen as a, db\svod as b, db\klient as c WHERE (a.nomen=b.nomen) and (b.klient=c.fio) and (c.fio=:fio) ORDER BY d_priem А вот проседура обработки нажатии клавиши [Выполнить поиск]: try Query1.Active:=false; Query1.ParamByName('fio').AsString:=ComboBox1.Text; Query1.Active:=true; except on error: EDatabaseError do begin MessageDlg('При выполнении запроса произошла ошибка:'+#13+#13+ error.Message ,mtError,[mbOK],0); end; end; end; Ключевое поле FIO в таблице с клиентами!! |
|||
|
||||
| pavelv |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
Не пагади.
Есть вопрос тогда.
Два Ивановых так?
Какой из тех двух покупает HP, а какой Acer? Тоесть ты можешь сказать что тот который покупает Acer - вот его телефон такой, а у другого... |
||||
|
|||||
| SareN |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 25.8.2009 Репутация: нет Всего: нет |
Просто программа думает, что один из Ивановых покупает и ту и другую номенклатуру и второй из Ивановых покупает и ту и другую номенклатуру !!!
Но насамом деле же в таблице сводной информации : один покупает одно, другой - другое! Мне же нужно, чтобы после запроса вывелись 2 записи разны Ивановых, а не 4! |
|||
|
||||
| vladimir74 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 28.11.2006 Репутация: 2 Всего: 3 |
SareN, так и будет :(
введи в таблицу клиентов номер клиента (ID) и считай по нему... --------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |