Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2010, 16:49   #11
MSD
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 85
По умолчанию

так я и делаю типа select DISTINCT имя, фамилия, отчество, карта from Data, Sale where Data.[Карта] = sale.[КартаП] and Sale.[Товар] и.т.д., все равно все отображает...

Последний раз редактировалось MSD; 07.11.2010 в 16:53.
MSD вне форума Ответить с цитированием
Старый 07.11.2010, 18:35   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а я вам говорю, не DISTINCT использовать, а ГРУППИРОВКУ
Код:
select  имя, фамилия, отчество from ....
group by имя, фамилия, отчество
только, если Вам нужны покупатели, то лучше использовать мой первый вариант запроса через:
select ... from Data
where [Карта] in
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2010, 23:48   #13
MSD
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 85
По умолчанию

спасибо все получилось, и еще не большой вопросик, сделал запрос:
Код:
adoquery1.SQL.Clear;
adoquery1.Active:=false;
Adoquery1.SQL.Add('SELECT * FROM Sale WHERE КартаП like '+dbtext1.Caption+'');
Adoquery1.Active:=true;
все работает ок, но теперь после запроса нужно подсчитать сумму одного столбца из таблицы, как сделать? просто если делаешь второй запрос с использованием sum , то первый запрос сбрасывается и выходит сумма ни первого запроса а всей тоблицы.(.... как их совместить?

Последний раз редактировалось Stilet; 11.11.2010 в 10:07.
MSD вне форума Ответить с цитированием
Старый 10.11.2010, 09:08   #14
BeJIuKuu_Hexo4yxa
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 96
По умолчанию

А ты во втором запросе условие WHERE КартаП like '+dbtext1.Caption+'' делаешь?
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
BeJIuKuu_Hexo4yxa вне форума Ответить с цитированием
Старый 10.11.2010, 17:15   #15
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Код:
просто если делаешь второй запрос с использованием sum , то первый запрос сбрасывается
А Adoquery2 у тебя нет под рукой?
Код:
var aSumma: double;

Adoquery2.Close;
adoquery2.SQL.Clear;
Adoquery2.SQL.Add('SELECT sum(<поле>) FROM Sale WHERE КартаП like '+dbtext1.Caption+'');
Adoquery2.Open;
aSumma:= Adoquery2.Fields[0].AsFloat;
Но вся система построена в принципе неправильно.
Оператор like работает гораздо медленнее всех остальных и применять его нужно только в крайнем случае (обычно при поиске по подстроке).

А выбирать сумму .... where <поле> like <часть_наименования> имхо, несерьезно.
Бухгалтер тебя когда-нибудь съест, если он такие данные в отчетах использует.

Последний раз редактировалось _SERGEYX_; 10.11.2010 в 17:18.
_SERGEYX_ вне форума Ответить с цитированием
Старый 11.11.2010, 00:58   #16
MSD
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 85
По умолчанию

Есть второй Adoquery но когда я с помощью него делаю запрос после первого, то беруться данные не из первого запроса а из все таблицы...((
MSD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка из 2х таблиц с последующей группировкой Alkatras БД в Delphi 1 05.08.2010 07:33
Выборка данных из нескольких таблиц Alxxxx74 Microsoft Office Excel 1 22.07.2010 08:58
Выборка таблиц mephist Microsoft Office Excel 4 23.09.2009 04:50
Создание запроса, выборка из 4 таблиц! help! angelkisss SQL, базы данных 3 03.02.2008 15:03
Выборка информации из 2 таблиц (SQL) frai БД в Delphi 10 10.11.2007 17:38