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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> траблы с запросом 
:(
    Опции темы
palaaaaaa
Дата 14.9.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.9.2006

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



Есть две связанные таблицы - специальность и студенты. Нужно отобрать специальность , на которой учится больше всего студентов. я пишу такой запрос - 
select spec_id, kol_stud from
(select count(fk_spec) kol_stud, fk_spec spec_id from student
group by fk_spec
order by kol_stud desc)

Интер 7 версии , способа доступа нет - пробую в самом интере
PM MAIL   Вверх
adima
Дата 19.9.2006, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 19.9.2006

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




не знаю как в Interbase, в Firebird я б написал

select first 1 fk_spec, count(*)
from student
group by 1
order by 2 desc

проверить тоже негде, под рукой нет сервера
(и правда интересно, сработает  ли ..)
PM MAIL   Вверх
Galka
Дата 22.9.2006, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А я бы сделала так:

select fk_spec, kol_stud 
from student
where kol_stud =
(select max(kol_stud) from student);
PM MAIL   Вверх
adima
Дата 22.9.2006, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 19.9.2006

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



Цитата(Galka @ 22.9.2006,  09:52)
А я бы сделала так:

select fk_spec, kol_stud 
from student
where kol_stud =
(select max(kol_stud) from student);


в таблице student нет поля kol_stud

PM MAIL   Вверх
jsa
Дата 22.9.2006, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

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



структуру таблиц дай

Добавлено @ 15:16 
Цитата(adima @ 19.9.2006,  22:37)
select first 1 fk_spec, count(*)
from student
group by 1
order by 2 desc

сработает, 100%, только выберет все записи, а надо одну

Добавлено @ 15:18 
сорри, не заметил first, тогда конечно одна и будет


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
Galka
Дата 22.9.2006, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Поняла, трудно не зная структуру таблиц написать правильный запрос. Вот если бы знать структуру...

И по-моему FIRST нельзя использовать во внешнем селекте под InterBase

Это сообщение отредактировал(а) Galka - 22.9.2006, 16:58
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

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

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


 




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


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

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