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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2015, 08:19   #1
Shingis
Пользователь
 
Регистрация: 09.04.2009
Сообщений: 27
По умолчанию Почему результа sql(ADOquery)т выдает минус значении? Подскажите пожалуйста!

Выдает правильный результат но с минус значениями, почему так господа проггеры дайте понят плииз!
Код:
Qstrana.SQL.Text:='SELECT Страна,'+
                 ' SUM(Year(Дата_поступления)=Year( :operdate1)) AS Принята_в_отчетном_году,'+
                 ' SUM(Дата_выпуска is null) AS Численность_учащихся,'+
                 ' SUM(Year(Дата_выпуска)=Year( :operdate2)) AS Выпушено_в_отчетном_году'+
                 ' FROM stud2 WHERE ID_strana IN ("0","1","2","3","4","5","6","7","8","9","10","11","12","13") GROUP BY Страна';
Qstrana.Parameters.ParamByName('operdate1').Value:=oper_date;
Qstrana.Parameters.ParamByName('operdate2').Value:=oper_date;

Последний раз редактировалось Аватар; 19.05.2015 в 08:29.
Shingis вне форума Ответить с цитированием
Старый 19.05.2015, 08:36   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Это ACCESS такое позволяет? Прикольно. А так:
Код:
SUM(IIF(Year(Дата_поступления)=Year( :operdate1),1,0))
Ну а если уж позволяет, то abs должен быть

А что за id страны смешное? Числовым нельзя было сделать и WHERE ID_strana BETWEEN 0 AND 13
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 19.05.2015 в 08:40.
Аватар вне форума Ответить с цитированием
Старый 19.05.2015, 08:56   #3
Shingis
Пользователь
 
Регистрация: 09.04.2009
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Это ACCESS такое позволяет? Прикольно. А так:
Код:
SUM(IIF(Year(Дата_поступления)=Year( :operdate1),1,0))
Ну а если уж позволяет, то abs должен быть

А что за id страны смешное? Числовым нельзя было сделать и WHERE ID_strana BETWEEN 0 AND 13
Да Аватар Вам спасибо очень большое спасибо!
Можно сделать числовыми, все буду так сделать!
А так с IIF ом тоже пробовал то не компилируется, ошибку выдал! Шя еще раз попробую!
А на счет abs не понял. Где это должен быть? (((
Уррра все пошло!!! Спасибо господин Аватар!

Последний раз редактировалось Shingis; 19.05.2015 в 09:01. Причина: Решил с помощью Аватара
Shingis вне форума Ответить с цитированием
Старый 19.05.2015, 15:42   #4
Shingis
Пользователь
 
Регистрация: 09.04.2009
Сообщений: 27
По умолчанию Аватар здесь что подскажете

Цитата:
Сообщение от Аватар Посмотреть сообщение
Это ACCESS такое позволяет? Прикольно. А так:
Код:
SUM(IIF(Year(Дата_поступления)=Year( :operdate1),1,0))
Ну а если уж позволяет, то abs должен быть

А что за id страны смешное? Числовым нельзя было сделать и WHERE ID_strana BETWEEN 0 AND 13
Код:
'SELECT
 Льготы,'+

' SUM((Year(Дата_поступления)=Year(:operdate1))*(Пол='М')) AS Мужского_пола_П,'+
' SUM((Year(Дата_поступления)=Year(:operdate1))*(Пол='Ж')) AS Женского_пола_П,'+
' SUM((Дата_выпуска is null)*(Пол='М')) AS Мужского_пола_Ч,'+
' SUM((Дата_выпуска is null)*(Пол='Ж')) AS Женского_пола_Ч,'+
' SUM((Year(Дата_выпуска)=Year(:operdate2))*(Пол='М')) AS Мужского_пола_В,'+
' SUM((Year(Дата_выпуска)=Year(:operdate2))*(Пол='Ж')) AS Женского_пола_В'+


'FROM student WHERE ID_lgoti between 0 and 10 group by Льготы';


Если в таблице student есть А1 и Б1 и "даты_поступления=01.09-2015" в один день (год) и пол "Муж и Жен" в этом случае женщину не показывает а мужчину норма показывает. В чем проблема?. По короче говоря "AS Женского_пола_П," и "AS Женского_пола_В," в этих полях не вставляется хотя есть данные соответствующие на этих поля. Подскажете че нибудь...
Изображения
Тип файла: jpg Скрин.jpg (12.1 Кб, 121 просмотров)

Последний раз редактировалось Stilet; 19.05.2015 в 16:03.
Shingis вне форума Ответить с цитированием
Старый 25.05.2015, 15:53   #5
Shingis
Пользователь
 
Регистрация: 09.04.2009
Сообщений: 27
По умолчанию

Все всем спасибо! Решил
Shingis вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста почему добавляется всего одна буква из трех? Nata Golden rose Общие вопросы C/C++ 2 22.05.2014 05:29
Почему в ответе компилятор выдает -0 (минус 0)? Igorec Помощь студентам 0 01.04.2010 08:53
отображения результа SQL в текстовом виде vaso1983 БД в Delphi 1 15.06.2009 11:28
Подскажите пожалуйста запускаю программу Ctrl+F9, а ничего не происходит. Alt+F9 ошибок не выдает! Dialon Паскаль, Turbo Pascal, PascalABC.NET 5 06.02.2009 14:34
ADOQuery - выдает ошибку kiber0net0 Общие вопросы Delphi 2 02.09.2008 19:49