Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Двойные записи, Фильтр 
V
    Опции темы
ishimcity
Дата 1.5.2009, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Ребят а как тут поступить?
Если в DBGRID есть двойные записи как сделать чтобы только одна была запись, какое устовие в SQL запросе написать?
Все записи идентичны и сделать выборку по признаку нет возможности 
PM MAIL ICQ Skype YIM   Вверх
vovk
Дата 1.5.2009, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 28.2.2008

Репутация: 6
Всего: 6



Код

Group By 
по всем полям
Но правда наличие таких записей в 1 таблице (в смысле абсолютно идентичных) просто нелогичноsmile И таблица с такими записями не вписывается даже в первую нормальную форму

Это сообщение отредактировал(а) vovk - 1.5.2009, 17:00
PM MAIL   Вверх
ishimcity
Дата 1.5.2009, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



я пологаю моя запись должна выглядеть  так?!
Код

 select  fc.fcnumbercount, fc.fcactualsurname, fc.fcactualname,
 fc.fcactualotchname,rb.rbdatepay,fc.sposras
 from facecount fc
left outer join regbody rb on fc.fccodecount = rb.rbcodecount
left outer join listschabon ls on ls.codecount = fc.fccodecount
 where
ls.codestate = fc.fcamountsch
and  rb.rbdatepay > '01.03.2009'
and  rb.rbdatepay < '30.03.2009'
GROUP BY fc.fcnumbercount   // сортировать по номеру 


однако выходит ошибка, наверное что то я не так написал?
PM MAIL ICQ Skype YIM   Вверх
vovk
Дата 1.5.2009, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 28.2.2008

Репутация: 6
Всего: 6



нет Group это групировка а не сортировка выглядеть может примерно так
Код

select  fc.fcnumbercount, fc.fcactualsurname, fc.fcactualname,
 fc.fcactualotchname,rb.rbdatepay,fc.sposras
 from facecount fc
left outer join regbody rb on fc.fccodecount = rb.rbcodecount
left outer join listschabon ls on ls.codecount = fc.fccodecount
 where
ls.codestate = fc.fcamountsch
and  rb.rbdatepay > '01.03.2009'
and  rb.rbdatepay < '30.03.2009'
GROUP BY fc.fcnumbercount, fc.fcactualsurname, fc.fcactualname,
 fc.fcactualotchname,rb.rbdatepay,fc.sposras

PM MAIL   Вверх
ishimcity
Дата 1.5.2009, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



К сожалению это не выход из моего положения ((((
PM MAIL ICQ Skype YIM   Вверх
vovk
Дата 1.5.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 28.2.2008

Репутация: 6
Всего: 6



Тогда можно поподробнее проблему узнать? Может я както не так понял саму проблему.


Это сообщение отредактировал(а) vovk - 1.5.2009, 17:25
PM MAIL   Вверх
ishimcity
Дата 1.5.2009, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Вообщем суть проблемы такая.
Есть база InterBase
в ней есть клиенты , и вот записи клиентов нужно отфильтровать, тобишь запись имеет вид
Фамилия.     Имя.  Отчество ...
Петров       Иван   Николаевич   --------- это и
Михалков   Миха   Михайлович
Петров      Иван    Николаевич  ---------- это повторяются нужно сделать чтоб запись была один раз в таблице
Васин         Вася      Иваныч

PM MAIL ICQ Skype YIM   Вверх
vovk
Дата 1.5.2009, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 28.2.2008

Репутация: 6
Всего: 6



Но если это в таком виде то групировка как раз поможет,  а если кроме этих полей есть ещё какието поля в которых записи несовпадают то надо будет выбирать какуюто одну из них  из них. Какую зависит от поля.
PM MAIL   Вверх
ishimcity
Дата 1.5.2009, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



В том то и дело что остальные поля все идентичны, поэтому немогу сообразить как быть то даже
Код

....
....
GROUP BY fc.fcnumbercount, fc.fcactualsurname, fc.fcactualname,
 fc.fcactualotchname,rb.rbdatepay,fc.sposras



SQL редактор ругается
PM MAIL ICQ Skype YIM   Вверх
vovk
Дата 1.5.2009, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 28.2.2008

Репутация: 6
Всего: 6



трудно без таблиц чтото у меня выходит.. можете тестовую базу послать? если небольшая ессно язапрос попробую доработать быстренько.
PM MAIL   Вверх
ishimcity
Дата 1.5.2009, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



С удовольствием бы но она 400 мб по весу
PM MAIL ICQ Skype YIM   Вверх
vovk
Дата 1.5.2009, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 28.2.2008

Репутация: 6
Всего: 6



Хмм ндя ну тгда так попробуемsmile 

fc.fcnumbercount, fc.fcactualsurname, fc.fcactualname,
 fc.fcactualotchname,rb.rbdatepay,fc.sposras
а у этих полей какие типы?

Хотя во вот так


Код

select  min(fc.fcnumbercount), fc.fcactualsurname, fc.fcactualname,
 fc.fcactualotchname,rb.rbdatepay,fc.sposras
 from facecount fc
left outer join regbody rb on fc.fccodecount = rb.rbcodecount
left outer join listschabon ls on ls.codecount = fc.fccodecount
 where
ls.codestate = fc.fcamountsch
and  rb.rbdatepay > '01.03.2009'
and  rb.rbdatepay < '30.03.2009'
GROUP BY  fc.fcactualsurname, fc.fcactualname,
 fc.fcactualotchname,rb.rbdatepay,fc.sposras


Это сообщение отредактировал(а) vovk - 1.5.2009, 18:15
PM MAIL   Вверх
ishimcity
Дата 1.5.2009, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



fc.fcnumbercount - integer номер лицевого счета
fc.fcactualsurname - Char фамилия
fc.fcactualname - Char Имя
fc.fcactualotchname - Char отчество
rb.rbdatepay - Date - дата платежа
fc.sposras - Char - Примечание

PM MAIL ICQ Skype YIM   Вверх
vovk
Дата 1.5.2009, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 28.2.2008

Репутация: 6
Всего: 6



 smile  smile  smile  Это я о себе 

всё гораздо проще ш тфзывается это DISTINCT

Код

select DISTINCT  fc.fcnumbercount, fc.fcactualsurname, fc.fcactualname,
 fc.fcactualotchname,rb.rbdatepay,fc.sposras
 from facecount fc
left outer join regbody rb on fc.fccodecount = rb.rbcodecount
left outer join listschabon ls on ls.codecount = fc.fccodecount
 where
ls.codestate = fc.fcamountsch
and  rb.rbdatepay > '01.03.2009'
and  rb.rbdatepay < '30.03.2009'


Глупости моей нет предела сам себя запутал smile 
PM MAIL   Вверх
ishimcity
Дата 1.5.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Дружище , записи склались тоесть теперь стало вот так

Фамилия.     Имя.  Отчество ...
Петров       Иван   Николаевич  
Петров      Иван    Николаевич  
Васин         Вася      Иваныч
Михалков   Миха   Михайлович

а как вообще бы чтоб небыло видно  типо воттак

Фамилия.     Имя.  Отчество ...
Петров       Иван   Николаевич  
Васин         Вася      Иваныч
Михалков   Миха   Михайлович
PM MAIL ICQ Skype YIM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0550 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.