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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2010, 23:26   #1
dymych
Пользователь
 
Регистрация: 21.11.2008
Сообщений: 10
По умолчанию SQL запросы

помогите с запросами не могу написать очень прошу

Сколько получила 4 и сколько 5 студентка Юля Галкина за экзамены?

Перечислить все специализации, к которым относятся группы 2001 уч. года

Сколько ведомостей оформлено для каждой группы по дисциплине "Экономическая теория" в 2001 уч. году
Вложения
Тип файла: doc таблицы.doc (42.5 Кб, 13 просмотров)

Последний раз редактировалось dymych; 21.06.2010 в 00:10.
dymych вне форума Ответить с цитированием
Старый 20.06.2010, 23:33   #2
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Ну, и где ваши попытки написать запросы? Не видно что-то, может выложите?
Вордовский файл несерьёзный. Логическую структуры посмотреть бы, а не тупо таблицы вбитые. По ним ещё и ищи, какие там связи между таблицами...
mMAg вне форума Ответить с цитированием
Старый 21.06.2010, 00:11   #3
dymych
Пользователь
 
Регистрация: 21.11.2008
Сообщений: 10
По умолчанию

обозначил связи между таблицами ключи первичные и внешние

Последний раз редактировалось dymych; 21.06.2010 в 00:38.
dymych вне форума Ответить с цитированием
Старый 21.06.2010, 00:27   #4
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Разницы не заметил, абсолютно одинаковые 2 файла. Где ваши попытки написать запросы?
mMAg вне форума Ответить с цитированием
Старый 21.06.2010, 00:29   #5
dymych
Пользователь
 
Регистрация: 21.11.2008
Сообщений: 10
По умолчанию

Сколько получила 4 и сколько 5 студентка Юля Галкина за экзамены?
SELECT COUNT (Ocen) OcenЮля Галкина
FROM StudVedRes
WHERE Ocen="Юля Галкина"

Перечислить все специализации, к которым относятся группы 2001 уч. года
SELECT * StudVed.VedUgod,Ngru.GruID,Sgru.Gru ID
FROM Sgru,StudVed,Ngru
WHERE VedUgod="2001"

Последний раз редактировалось dymych; 21.06.2010 в 00:38.
dymych вне форума Ответить с цитированием
Старый 21.06.2010, 01:00   #6
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

мда...
ладно, вот первый запрос:
Код:
select count(vedid)
from studvedres
where (ocen = 4) and (studid in (select studid
                                             from vist
                                             where (snam = "Юля") and (sotch = "Галкина")))
mMAg вне форума Ответить с цитированием
Старый 21.06.2010, 01:25   #7
dymych
Пользователь
 
Регистрация: 21.11.2008
Сообщений: 10
По умолчанию

это тогда получается что мы узнаём сколько 4 получила а 5 ки?
dymych вне форума Ответить с цитированием
Старый 21.06.2010, 01:32   #8
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

а 5ки додумайся как сделать. тут всего-то 1 цифру изменить...
mMAg вне форума Ответить с цитированием
Старый 21.06.2010, 01:35   #9
dymych
Пользователь
 
Регистрация: 21.11.2008
Сообщений: 10
По умолчанию

надо всё в одном запросе сделать,можно так?

select count(vedid)
from studvedres
where (ocen = "4") and (ocen="5") and (studid in (select studid
from vist
where (snam = "Юля") and (sfam = "Галкина")))
dymych вне форума Ответить с цитированием
Старый 21.06.2010, 08:38   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

нет, не так. всегда будет пустая выборка - Не может быть одновременно оценка и 4 и 5.

кроме того, даже в задании написано узнать, сколько получила 4 и сколько 5, а в вашем случае не выводится оценка, только количество.

я бы рекомендовал Вам такой запрос:
Код:
select count(*), StudVedRes.Ocen 
  from ViSt, StudVedRes
  where Vist.StudID =  StudVedRes.StudID
    and (ViSt.snam = 'Юля') 
    and (ViSt.sfam = 'Галкина')
    and StudVedRes.Ocen in (4,5)
  group by StudVedRes.Ocen
p.s. можно и Ваш вариант довести до ума (если он Вам ближе/роднее ...


Цитата:
Перечислить все специализации, к которым относятся группы 2001 уч. года
Ваше решение неверно!
И я уж не говорю о том, что Вам нужно указать специализации (кстати, а что это?!! я не нашёл такого в вашем файле описания БД!)
и я не говорю о том, что здесь после звёздочки в селекте нет запятой (да и зачем все поля, когда Вы указываете конкретные нужные Вам поля),
но Вы делаете ГРУБЕЙШУЮ ошибку!
запомните, все указанные таблице во FROM должны быть связаны (через WHERE или JOIN)!!

Последний раз редактировалось Serge_Bliznykov; 21.06.2010 в 08:46.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL запросы max1k Помощь студентам 1 12.06.2010 19:31
SQL запросы akimov_aleks БД в Delphi 3 21.04.2010 05:42
SQL-запросы SEMEon SQL, базы данных 21 05.01.2010 09:25
Запросы на SQL denisk0 Microsoft Office Access 0 23.05.2009 16:05
sql запросы wolf950 БД в Delphi 2 28.11.2008 21:26