Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL


Сергей ©   (2002-12-18 17:04:00) 

делаю простой запрос select * (или несколько полей) from ... group by street. Говорит - not group by expression. Вьіполняется только когда ставить select street from ... group by street. Не должно так бьіть !!! Может че подскажете ?


Сергей   (2002-12-19 10:24:00) [1]


> одному человеку в квартире? ;)

ето такой крутой человек - квартиронаниматель, которьій платит комунальньіе услуги :] По идее идентифицировать можно по коду плательщика+вид услуги, но бьіли прокольі с заполнением кода плательщика. Поетому второй вариант - через адрес. Таблицу мне такую дают готовую. Вот и все.
по совету посидел, подумал :] - вобщем тут просто distinct нужно делать. Уж работает. А к group by я с фокса привьік. Так что извините что парил мОзги. Спасибо за советьі :]


Anatoly Podgoretsky   (2002-12-18 22:58:00) [2]

Сергей (18.12.02 17:37)
Нет смысла в групировке, без агрегатов, но ты можещь не перечислять все поля если заменишь их на *


Val   (2002-12-18 18:59:00) [3]

Однозначно идентифицировать человека можно по адресу
Просто праздник какой-то, где такой коммунизм, где по одному человеку в квартире? ;)
..так что не ругайте
ругань тут совсем не причем, а вы при такой идентификации, можете получить проблему.


Max Zyuzin   (2002-12-18 17:51:00) [4]

ой...


Max Zyuzin   (2002-12-18 17:51:00) [5]

select distinct Улица, Дом, БукваДома, Корпус, Квартира, БукваКвартирьі
from mytable


Johnmen   (2002-12-18 17:50:00) [6]

На фоксе это интерпретируется и группировка здесь имеет абсолютно другой смысл, нежели в SQL !
Не надо тебе ничего пробовать ! Просто сядь, расслабся и попытайся представить, как должен выглядеть результирующий НД, когда указана груп-ка по одному полю, а селект нескольких (в истинном значении GROUP BY).


Сергей   (2002-12-18 17:48:00) [7]


> что хотите увидеть в результате

знач так - в таблице - данньіе по людям. Причем по одному человеку несколько строк. В результате надо список людей.
Однозначно идентифицировать человека можно по адресу -
Улица+Дом+БукваДома+Корпус+Квартира+БукваКвартирьі (колбасу енту не я придумал, так что не ругайте) - ето и есть strit, hnum, hlit, hkor, knum, klit. Вроде все просто...


Val   (2002-12-18 17:45:00) [8]

>Сергей (18.12.02 17:42)
- работает, однако...могу test.dbf показать :]]
а смысл в чем без агрегатов??


Сергей   (2002-12-18 17:42:00) [9]


> Подумай как следут...

думаю...:]
тот же запрос пробую на фоксе с дбф-ки

select fam, name, patr, strit, hnum, hlit, hkor, knum, klit;
from FI111202.DBF;
into table test ;
group by strit

- работает, однако...могу test.dbf показать :]]


Max Zyuzin   (2002-12-18 17:41:00) [10]

>Сергей (18.12.02 17:35)
Вы лучше объясните, что хотите увидеть в результате...
И для чего вам нужен group by


Сергей   (2002-12-18 17:37:00) [11]

ведь смьісла нет group по всем полям


Сергей   (2002-12-18 17:35:00) [12]


> Reindeer Moss Eater

там групировка нужна по strit, hnum, hlit, hkor, knum, klit
(адрес) - та же ошибка. извиняюсь. просто извращался и на group by strit остановился.

---
select fam, name, patr, strit, hnum, hlit, hkor, knum, klit
from wodb.cp_fi
group by strit, fam, name, patr, hnum, hlit, hkor, knum, klit
---
так пашет. обьясните пжалста, если не влом. не понимаю сей момент. почему именно так ?


Johnmen   (2002-12-18 17:32:00) [13]

>Сергей (18.12.02 17:04)
>...Не должно так бьіть !!!

Подумай как следут...


qwerty   (2002-12-18 17:26:00) [14]

select fam, name, patr, strit, hnum, hlit, hkor, knum, klit
from wodb.cp_fi
group by strit, fam, name, patr, hnum, hlit, hkor, knum, klit



Reindeer Moss Eater   (2002-12-18 17:25:00) [15]

Нет агрегатов, зачем GROUP BY писать?
Для мебели?


Сергей   (2002-12-18 17:17:00) [16]


> SUM, AVG, MAX, MIN

нема их там


FreeLancer   (2002-12-18 17:10:00) [17]

В GROUP BY должны входить все поля кроме тех, к которым применяются SUM, AVG, MAX, MIN и т.п.


Сергей   (2002-12-18 17:09:00) [18]

select fam, name, patr, strit, hnum, hlit, hkor, knum, klit
from wodb.cp_fi
group by strit


3JIA9I CyKA   (2002-12-18 17:06:00) [19]

Полный тект запроса где?


Наверх

Титульная страница Поиск, карта сайта Написать письмо