Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SQL-запрос 
V
    Опции темы
Flotskiy
Дата 15.8.2006, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



Возник еще один вопрос, прошу помощи. Суть такова: (VB6, Access97) . Имеются две главные таблицы: "Abiturient"  и "Abiturient_V" 
При проведении приема документов  данные абитуриентов заносятся в табл. "Abiturient" . После вступительных экзаменов, данные абитуриентов, не прошедших испытаний удаляют во вторую  табл.  "Abiturient_V", где они хранятся в течении 5 лет.
Надо построить SQL-запрос и вывести количество записей в двух этих таблицах (т.е. сколько всего было подано заявлений), примерно так:
Код

SELECT Count(Abiturient.GlavID) AS Count_G
FROM Abiturient
UNION
SELECT Count(Abiturient_V.GlavID) AS Count_V
FROM Abiturient_V

Выводится:
Count_G=некоторое число
Count_V=некоторое число
Но надо найти общее число одним запросом
Может создать временную таблицу с данными двух таблиц и потом находить уже общее число? Только как?
И еще: выше указанный запрос работает в Access'е , а в программе нет
Подскажите путь решения данной проблемы,
Всего доброго.

--------------------
FlotskiySk k
PM MAIL   Вверх
boevik
Дата 15.8.2006, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Цитата(Flotskiy @  15.8.2006,  07:03 Найти цитируемый пост)
Может создать временную таблицу с данными двух таблиц и потом находить уже общее число?

А может лучше в коде произвести сложение двух чисел из первой и второй записи?


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Flotskiy
Дата 15.8.2006, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



boevik,  пробовал, но не хватает знаний, делал так:
Код

"SELECT Sum(данный запрос) AS Summa.."


Не получается.
Может как-нибудь по другому?
--------------------
FlotskiySk k
PM MAIL   Вверх
boevik
Дата 15.8.2006, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



По другому. В коде VB, примерно так:
Код

dim rs as recordset
dim sum as Long   'сумма двух таблиц

rs = cn.execute "SELECT Count(Abiturient.GlavID) AS Count_G FROM Abiturient UNION SELECT Count(Abiturient_V.GlavID) AS Count_V FROM Abiturient_V"
do while not rs.eof
   sum = sum + rs.fields(1)
loop




--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Akina
Дата 15.8.2006, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Код

SELECT Count(GlavID) AS Count_GlavID
FROM 
(
   SELECT GlavID
   FROM Abiturient
UNION
   SELECT GlavID
   FROM Abiturient_V
)



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Flotskiy
Дата 15.8.2006, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



boevik,  что-то не получается, пишет:
Код

rs = cn.execute "SELECT Count(Abiturient.GlavID) AS Count_G FROM Abiturient UNION SELECT Count(Abiturient_V.GlavID) AS Count_V FROM Abiturient_V"
Compile Error: Syntax error


--------------------
FlotskiySk k
PM MAIL   Вверх
boevik
Дата 15.8.2006, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Цитата(Flotskiy @ 15.8.2006,  11:06)
boevik,  что-то не получается, пишет:
Код

rs = cn.execute "SELECT Count(Abiturient.GlavID) AS Count_G FROM Abiturient UNION SELECT Count(Abiturient_V.GlavID) AS Count_V FROM Abiturient_V"
Compile Error: Syntax error



Скобочки надо ставить.
Код

rs = cn.execute ("SELECT Count(Abiturient.GlavID) AS Count_G FROM Abiturient UNION SELECT Count(Abiturient_V.GlavID) AS Count_V FROM Abiturient_V")

Да и не мешало бы тебе определить cn (это открытый connection к базе данных)


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Flotskiy
Дата 15.8.2006, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



Akina,  благодарю очень! Все нормально. Тебе "+"
Всего доброго всем!


Это сообщение отредактировал(а) Flotskiy - 15.8.2006, 11:25
--------------------
FlotskiySk k
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.