Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 347

/ вопрос решён /

Здравствуйте, уважаемые эксперты! Не знаю, как сделать «запрос в запросе», и вообще возможно ли это?! Например по ниже приведенному коду я делаю запрос по столбцу «Иногородние» равняющемуся значению «Да», но дело в том что из этого полученного числа программа должна осуществить второй запрос по столбцу «Пол». Т. е показать сколько иногородних, и сколько из них женского пола и мужского пола. Пожалуйста помогите, решить проблему!?

Приложение:
  1. datamodule3.ADOQuery2.SQL.Clear;
  2.  
  3. datamodule3.ADOQuery2.Active:=true;
  4. form7.sEdit5.Text:= inttostr (datamodule3.ADOQuery2.RecordCount);


alexlafa Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: alexlafa (статус: Посетитель)
Вопрос отправлен: 31 мая 2011, 01:47
Состояние вопроса: решён, ответов: 1.

Ответ #1. Отвечает эксперт: Мережников Андрей

Здравствуйте, alexlafa!
Сделайте вот так:

datamodule3.ADOQuery2.SQL.Text:='select count(*) as vsego,count(case when Пол=''М'' then 1 else 0 end) as kman from
Таблица1 where Иногородние=''Да''';
тогда просто возьмете из полученного запроса значения полей:
vsego - всего иногородних
kman - количество среди них мужчин, ну а количество женщин = vsego-kman

Ответ отправил: Мережников Андрей (статус: Абитуриент)
Время отправки: 31 мая 2011, 05:46
Оценка за ответ: 5

Комментарий к оценке: Спасибо!

Мини-форум вопроса

Всего сообщений: 25; последнее сообщение — 3 июня 2011, 05:53; участников в обсуждении: 4.

Страницы: [« Предыдущая] [1] [2]

Мережников Андрей

Мережников Андрей (статус: Абитуриент), 1 июня 2011, 21:53 [#21]:

Цитата (bugmenot):

VARCHAR(1), лолшто? CHAR(1)

не понял слова "лолшто".
чем отличается char от varchar знаете?
bugmenot

bugmenot (статус: 3-ий класс), 1 июня 2011, 23:31 [#22]:

Цитата (Мережников Андрей):

не понял... чем отличается char от varchar знаете?
В том-то и проблема, что я - знаю.
виконання програми розпочинається з того самого мiсця, де призупинилося.

Мережников Андрей

Мережников Андрей (статус: Абитуриент), 2 июня 2011, 20:39 [#23]:

to buqmenot - насчет комментария про размер поля для хранения значения согласен - char(1) - занимает 1 байт, varchar(1) - 3 байта (надо же где-то хранить признак конца строки).
Все-таки - что значит слово "лолшто"?
bugmenot

bugmenot (статус: 3-ий класс), 2 июня 2011, 21:38 [#24]:

Цитата (Мережников Андрей):

char(1) - занимает 1 байт, varchar(1) - 3 байта (надо же где-то хранить признак конца строки)

Это всё конечно так, но я так и не увидел смысла экономить байтики, вместо того, чтобы запроектировать базу правильно™. Мы же БД обсуждаем, а не частности реализации хранилища.

Цитата (Мережников Андрей):

что значит слово "лолшто"?

Так надо же загуглить и всё будет ;­-­)
виконання програми розпочинається з того самого мiсця, де призупинилося.

Мережников Андрей

Мережников Андрей (статус: Абитуриент), 3 июня 2011, 05:53 [#25]:

Цитата (bugmenot):

вместо того, чтобы запроектировать базу правильно

правильное проектирование БД подразумевает, в том числе, и разумное расходование "байтиков". Но, поскольку, все это не имеет прямого отношения к заданному автором вопросу - предлагаю закончить обсуждение тонкости проектирования БД.Тем более, что это имеет смысл при обсуждении реализации конкретного сервера. На некоторых сервера реализован битовый тип - как раз для хранения логических значений (вроде бы и числовой, т.к. значения 0 и 1, в то же время занимает 1 бит при некоторых условиях)

6 июня 2011, 23:25: Статус вопроса изменён на решённый (изменил автор вопроса — alexlafa): Решен

Страницы: [« Предыдущая] [1] [2]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 25 апреля 2026, 22:05
Выполнено за 0.02 сек.