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

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

group by через парметры [D6, MSSQL]


alexliv ©   (2005-10-20 17:02:00) 

подскажите мастера можно ли запрос группировать по параметру Н
dm.rep.shett.sql.add('select fullname,s_name,s_code from rep_sheet group by :S_name');
dm.rep.parameters.parambyname('s_name').value:=r_name
выдает след ошибку
group by expressions must refer to column names that appear in the select list
подскажите в чем проблема
использую ADOquery


Anatoly Podgoretsky   (2005-10-20 19:58:00) [1]

alexliv   (20.10.05 17:02)  
Нельзя использовать параметры для метаданных.


Val   (2005-10-20 17:47:00) [2]

или таким образом эмулировать distinct? не понял я, в общем :(


Val   (2005-10-20 17:38:00) [3]

а смысл в чем?его вообще можно выкинуть.


Seg   (2005-10-20 17:36:00) [4]

зачем?

Чтобы group by заработал.


Val   (2005-10-20 17:35:00) [5]

>[12] Seg   (20.10.05 17:33)
зачем?


Seg   (2005-10-20 17:33:00) [6]

В S_Name надо перечислить все поля, перечисленные после select.


Val   (2005-10-20 17:30:00) [7]

лучше прочтите, что делает group by для начала.потом посмотрите на свой запрос. потом решайте, что вам все-таки нужно.


alexliv   (2005-10-20 17:28:00) [8]

всем спасибо
буду делать как подсказал Desdechado


Desdechado   (2005-10-20 17:26:00) [9]

у тебя динамический SQL уже есть в коде
просто выкинь параметр  прибавь строку с именем поля


alexliv   (2005-10-20 17:23:00) [10]

поробывал передать цифры не получилось :(
как сгенерить динамический sql напишите маленький примерчик
буду безмерно блогодарен


evvcom   (2005-10-20 17:19:00) [11]

Во-первых, так группировать нельзя.
Во-вторых, насколько я понимаю, тебе нужна не группировка, а сортировка. Сортировать так тоже нельзя.

Группировать/сортировать в зависимости от того, что ты выбрал в комбобоксе можно, если сгенерить динамически SQL.


Desdechado   (2005-10-20 17:18:00) [12]

параметр - это величина, а не название поля
попробуй передать цифру 2 - для name и 3 - для code


Val   (2005-10-20 17:17:00) [13]

>[3] alexliv   (20.10.05 17:13)
нормально написать
select name, sum(salary)
from mytable
group by 'Иванов'

?


alexliv   (2005-10-20 17:16:00) [14]

но поля s_code и s_name в selecte существуют


alexliv   (2005-10-20 17:13:00) [15]

в форме существует combobox  
if combobox.itemindex=0 then r_name:=s_code
if combobox.itemindex=1 then r_name:=s_name


Вольный Стрелок   (2005-10-20 17:10:00) [16]

буквально - нельзя группировать по полю, не указанному в SELECT


Val   (2005-10-20 17:09:00) [17]

каков смысл действа? где агрегаты? что передаем в r_name?


Наверх

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