Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 33

Delphi + ADOQuery+ Запрос SQL

26.02.2012, 09:54. Показов 2458. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день уважаемые програмисты!
Помогите разобраться с запросом. Есть две таблицы Stb с поляли StbKey, Num, Gr, GrP, Name и Bdg с полями Stb, Yn, ...Dc. Необходимо сформировать таблицу с полями Num, Name(Обьединенные Num, Gr, GrP, Name), Sum(Yn),..., Sum(Dc).
Код запроса:
Delphi
1
2
3
4
5
6
7
DataModule2.ADOQBdg.SQL.Clear;
 DataModule2.ADOQBdg.SQL.Text:=('select S.Num as Num, (S.Gr &'':''& S.GrP&'':''& S.Name) as Name, '
 +'sum(B.Yn)as Yn, sum(B.Fb)as Fb, sum(B.Mr)as Mr, '
 +'sum(B.Ap)as Ap, sum(B.My)as My, sum(B.Iy)as Iy, sum(B.Il)as Il, sum(B.Av)as Av, sum(B.Sn)as Sn, '
 +'sum(B.Ok)as Ok, sum(B.Nv)as Nv, sum(B.Dc)as Dc From  Stb S LEFT JOIN Bdg B ON B.Stb=S.StbKey Group By S.Num Order By S.Num');
 DataModule2.ADOQBdg.Close;
 DataModule2.ADOQBdg.Active:=true;
Когда без обьединения столбцов (S.Gr &'':''& S.GrP&'':''& S.Name) as Name, все работает. Только добавляю обьединение выдает ошибку: "Попытка выполнить запрос, который не включает указанное выражение S.Gr &'':''& S.GrP&'':''& S.Name как часть статистической функции или группы.

Заранене всем огромное спасиба!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.02.2012, 09:54
Ответы с готовыми решениями:

Delphi. SQL запрос ADOQuery. Выборка из Dbgrid в разных формах
помогите! не понимаю как сделать то что задумала. Есть таблица Курс (код, курс) и предметы(код, КодСтудента, кодДисциплины, кодСеместра,...

Adoquery SQL-запрос
Есть таблица с группами(Group), и со студентами(Student). И есть dblookupcombobox1, привязанный к таблице с группами. Не получается...

SQL Запрос в ADOQuery
Проблема заключается в том что простой запрос типа Select * from SKLAD работает. А запрос чуть по крупнее который рабочий...

8
39 / 71 / 10
Регистрация: 03.02.2012
Сообщений: 362
26.02.2012, 13:56
Пользуйтесь тегами форматирования текста. Нифига не понятно.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DataModule2.ADOQBdg.SQL.Clear;
DataModule2.ADOQBdg.SQL.Text:=
                                           ('select S.Num as Num, 
                                                        (S.Gr &'':''& S.GrP&'':''& S.Name) as Name, '
                                                       +'sum(B.Yn)as Yn, 
                                                         sum(B.Fb)as Fb, 
                                                         sum(B.Mr)as Mr, '
                                                       +'sum(B.Ap)as Ap, 
                                                         sum(B.My)as My, 
                                                         sum(B.Iy)as Iy, 
                                                         sum(B.Il)as Il, 
                                                         sum(B.Av)as Av, 
                                                         sum(B.Sn)as Sn, '
                                                      +'sum(B.Ok)as Ok, 
                                                        sum(B.Nv)as Nv, 
                                                        sum(B.Dc)as Dc 
                                                From Stb S 
                                                LEFT JOIN Bdg B ON B.Stb=S.StbKey 
                                                Group By S.Num Order By S.Num');
DataModule2.ADOQBdg.Close;
DataModule2.ADOQBdg.Active:=true;
Добавлено через 7 минут
Двоеточием в adoQuery обозначается параметр.
0
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 33
26.02.2012, 14:08  [ТС]
Убираю двоеточие все равно выдает ошибку.
0
39 / 71 / 10
Регистрация: 03.02.2012
Сообщений: 362
26.02.2012, 15:24
Ну а группировку по этому полю кто делать буде?
0
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 33
26.02.2012, 16:11  [ТС]
Делаю группировку. Все равно выдает ошибку.
0
39 / 71 / 10
Регистрация: 03.02.2012
Сообщений: 362
26.02.2012, 16:12
Sql код покажи
0
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 33
26.02.2012, 16:13  [ТС]
SQL
1
2
3
4
SELECT S.Num AS Num,(S.Gr &'':''& S.GrP&'':''& S.Name) AS Nam, '
 +'SUM(B.Yn)AS Yn, SUM(B.Fb)AS Fb, SUM(B.Mr)AS Mr, '
 +'SUM(B.Ap)AS Ap, SUM(B.My)AS My, SUM(B.Iy)AS Iy, SUM(B.Il)AS Il, SUM(B.Av)AS Av, SUM(B.Sn)AS Sn, '
 +'SUM(B.Ok)AS Ok, SUM(B.Nv)AS Nv, SUM(B.Dc)AS Dc FROM  Stb S LEFT JOIN Bdg B ON B.Stb=S.StbKey  WHERE    B.Data>=:dataN AND B.Data<=:dataK GROUP BY S.Num, Nam ORDER BY Num
0
39 / 71 / 10
Регистрация: 03.02.2012
Сообщений: 362
26.02.2012, 16:15
По псевдонимумполя группировать нельзя. Надо полностью строку писать.
1
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 33
26.02.2012, 16:17  [ТС]
Спасиба. Все работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.02.2012, 16:17
Помогаю со студенческими работами здесь

SQL запрос в ADOQuery
Извиняюсь, если пишу не в ту тему, так как по сути мне нужна помощь по SQL, просто используется он в ADOQuery. Вообщем есть код (фрагмент...

ADOQuery + SQL запрос с условием ???
Мне необходимо выбрать из таблицы Person (ID, Name, Secondname, Birthday...) только 3 поля, причем 2 из них объединить: SELECT P.ID,...

SQL запрос для AdoQuery
Каким будет запрос SQL если имеется таблица id_uspev id_uch id_dist ocenka semestr Необходимо при выборе через ComboBox1...

ADOQuery не выполняет запрос SQL
Подскажите, пожалуйста, по такому вопросу, Имеем, Delphi XE, MS SQL 2012 В DataModule1 ADOConnection + ADOQuery + DataSource ...

Функции sql в Adoquery delphi
Добрый вечер. Работаю ms access, adoquery, tdgrideh.Столкнулся с потребностью использования функций sql:datediff и dateadd. И тут...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru