powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с созданием запроса!
20 сообщений из 20, страница 1 из 1
Помогите с созданием запроса!
    #37457194
zubass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица Курсы (КодКурса, Название), Ученики (КодУченика, Фамилия), СвязьКурсыУченик(КодСвязи, КодКурса, КодУченика). Ученик может быть записан на несколько курсов сразу.
Как написать запрос чтобы:
выводились все ученики, обучающиеся более чем на двух курсах.
выводились все ученики, которые не заняты ни на одном курсе.
выводилось наименование каждого второго курса, на котором обучается ученик???
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457217
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что у вас не получается?
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457233
zubass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот например первый запрос:

SELECT Ученики.Фамилия, Count(*) AS [Count Of Курсы]
FROM Ученики INNER JOIN СвязьКурсыУченик ON Ученики.КодУченика = СвязьКурсыУченик.КодУченика
HAVING (((Count(*))=2));

но со вторым так не получится - нельзя просто приравнять Count к нулю, потому что в таблице Связь нет записей с такими учениками. Да и с третьим запросом тоже проблемы.
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457236
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zubassо со вторым так не получится - нельзя просто приравнять Count к нулю, потому что в таблице Связь нет записей с такими учениками.
используйте подзапрос с EXISTS
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457240
zubass,

2. not exists
3. row_number() (partition by ... order by...)
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457263
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Второй вопрос:
Код: plaintext
1.
2.
SELECT Фамилия
FROM Ученики	
WHERE not КодУченика  IN (SELECT КодУченика FROM СвязьКурсыУченик)   

Код: plaintext
1.
2.
SELECT Фамилия
FROM Ученики s1	
WHERE not EXISTS(SELECT s2.КодУченика FROM СвязьКурсыУченик s2  WHERE s1.КодУченика=s2.КодУченика)  

Какой из них быстрее? (плана запроса нет т.е. нужно создавать тестовые таблицы а лень, как эксперты можете подсказать)
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457286
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew, посмотрите планы, лениться не стоит.
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457293
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kDnZP,

Вообще согласен, нужно себя заставлять. Спасибо.
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457298
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewнужно создавать тестовые таблицы а лень, как эксперты можете подсказат
Воспользоваться тестовыми базами из стандартной установки mssql ?
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457313
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glory,

Ответ на третий вопрос, незнаю верно или нет?
Код: plaintext
1.
2.
3.
4.
SELECT Фамилия, Название , row_number() OVER(ORDER BY  Название) AS num
FROM Ученики  
	INNER JOIN СвязьКурсыУченик ON Ученики.КодУченика =СвязьКурсыУченик.КодУченика
	INNER JOIN Курсы ON Курсы.КодКурса = СвязьКурсыУченик.КодКурса
WHERE num % 2  = 0 

авторВоспользоваться тестовыми базами из стандартной установки mssql ?
у меня 4 системных базы данных. что нужно сделать чтобы приаттачить тестовые базы (MS SQL 2005)
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457340
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewу меня 4 системных базы данных. что нужно сделать чтобы приаттачить тестовые базы (MS SQL 2005)
http://sqlserversamples.codeplex.com/
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457347
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glory,

Спасибо за ссылку!
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457363
zubass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trew,

Спасибо за второй запрос, все работает! В третьем у меня пишет ошибку: пропущен оператор в выражении запроса row_number() OVER(ORDER BY Название)
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457371
zubass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zubasstrew,

Спасибо за второй запрос, все работает! В третьем у меня пишет ошибку: пропущен оператор в выражении запроса row_number() OVER(ORDER BY Название)

Может есть какой-нибудь другой оператор кроме row_number() и OVER чтобы написать этот запрос?
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457374
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zubass,

что возвращает запрос (у меня решение для MS SQL 2005)
Код: plaintext
SELECT @@VERSION 
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457378
zubass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trewzubass,

что возвращает запрос (у меня решение для MS SQL 2005)
Код: plaintext
SELECT @@VERSION 


Я пробую на MS Access 2007 =\ Сорри что запостил не туда
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457380
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zubass,

Код: plaintext
Может есть какой-нибудь другой оператор кроме row_number() и OVER чтобы написать этот запрос? 
У меня на ум приходят создание временных таблиц (получится что-то типа хранимой процедуры).

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #37457515
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автору курить учебники, поиск по форуму и хелп


...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Помогите с созданием запроса!
    #39667783
eugene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zubass,
у меня тоже на MS ACCESS 2010 аналогичный запрос
SELECT row_number() over (ORDER BY N) N, Тип FROM Трансформаторы
не проходит дает ту же ошибку синтаксиса (пропущен оператор). Видимо этот row_number()
недоступен для MS ACCESS
...
Рейтинг: 0 / 0
Помогите с созданием запроса!
    #39667804
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eugene, иногда и документацию смотреть нужно диалекты SQL для Microsoft Access. И не так глупо будешь выглядеть, да и некропостом не будешь заниматься.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с созданием запроса!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]