|
|
|
| Помогите кто может! Задача состоит в следующем:
есть база с фамилиями учеников именами и т д , а так же с результатами экзамена в виде столбца(поле varchar[10]), в котором данный ученик ответил на 10 вопросов и записаны его варианты ответа.Пример 1322311222 т е было 10 вопросов и на первый выбран ответ 1 на второй 3 и т д
Задача состоит - создать запрос, который бы смог отсортировать таблицу по матрице( правильному ответу на все вопросы-пример 1333311222 ) и кто ответил на 10 вопросов правильно- вверху ( желательно бы созать AS verno - количество правильных ответов), и далее кто на 9 ответил правильно и т д.
Пробовал с регулярными выражениями- результат запутался.
Чую что надо сделать уникальные варианты ответа типа на первый вопрос ответы a,b,c на второй d,e,f и т д Тогда получится уникальная строка, где не будут повторятся символы и ее как то сравнить с правильными ответами( строкой). Но как? ничего не получается. Как вычислить число правильных ответов? Да еще бы отсортировать по убыванию этого числа | |
|
|
|
|
|
|
|
для: intersvyaz
(20.11.2008 в 20:18)
| | А почему строки, почему не числа? С числами быстрее работать. | |
|
|
|
|
|
|
|
для: sim5
(20.11.2008 в 20:55)
| | Да в принципе и числа можно. Просто прога написана при заполнении результатов таблицы под строку в поле ОТВЕТЫ, но переделать запросто. Только как тогда это с числами(числом-так как поле с ответами на вопросы одно) сделать такую выборку? | |
|
|
|
|
|
|
|
для: intersvyaz
(20.11.2008 в 21:27)
| | По горизонтали, это ID ученика, по вертикали, это десять полей вопросов, с вариантами ответов на них. Правильность ответа можно проверять по произведению чисел всех вариатов. В этом случае легче будет делать различные выборки в таблице.
PS. Нет, по произведению может быть однозначность при разных наборах (просто переумножение). Ну тогда либо соединять данные полей в строку, либо, что лучше, держать это набором, но не как строку, а как битовые маски, и при выборке из таблицы работать битовыми операторами. | |
|
|
|
|
|
|
|
для: sim5
(21.11.2008 в 06:31)
| | Да видимо придется составить отдельную таблицу.
Спасибо буду пробовать | |
|
|
|