Вопрос № 65394: Здравствуйте, уважаемы эксперты.
Пишу работу на С#, использую ASP.NET.
Работать нужно с базой данных Access.
Стоит такая задача: есть две таблицы: estimation и students. estimation содержит поля estimation_id, subject_id,student_id, est...
Вопрос № 65.394
Здравствуйте, уважаемы эксперты.
Пишу работу на С#, использую ASP.NET.
Работать нужно с базой данных Access.
Стоит такая задача: есть две таблицы: estimation и students. estimation содержит поля estimation_id, subject_id,student_id, estimation_value. Таблица большая (около 80000 записей).
Таблица students содержит поля student_id,student_surname,student_name. (около 11000 записей). Имеется строка String, хранящая estimation_id, для которых нужно вывести информацию (формат строки: "id1,id2,id3,...idN").
Требуется получить для каждого estimation_id соответствующие student_surname,student_name,estimation_value.
Пробовал запрос вида "SELECT student_name,student_surname,estimation_value FROM estimation,students WHERE subject_id = <некое число> AND estimations_id IN (<строка (см.выше)>);"
Запрос выполняется около 5 минут, затем вываливается сообщение об ошибке.
В чем проблема? Некорректный запрос или неверный подход? Заранее спасибо.
Отвечает: Игорь Елизаров
Здравствуйте, Алексеев В.В.!
Похоже, что вы забыли связать между собой эти две таблицы
на MSSQL запрос выглядит примерно так
"SELECT student_name,student_surname,estimation_value FROM estimation inner join students on estimation.student_id = student.student_id WHERE subject_id = <некое число> AND estimations_id IN (<строка (см.выше)>);"
Ответ отправил: Игорь Елизаров (статус: 8-ой класс)
Ответ отправлен: 03.12.2006, 22:58 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо. Все заработало.