powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / и еще вопросец от новичка
2 сообщений из 2, страница 1 из 1
и еще вопросец от новичка
    #32003609
Alexander Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во-первых, спасибо за вчерашнюю помощь с нумерацией, вопрос решил.

Теперь требуется помощь в составлении запроса, эх было б времени побольше сам бы домучал...
Задача следующая.
Есть таблица answer(ответы на тест), (id_answer int IDENTITY(1,1), - счётчик;
number char(9),- рег.номер ответчика;
id_version int,- вариант карточки ответов;
num_tasks char(2), - номер вопроса в карточке ответа (очень неудобно с типом вышло, но придумывал не я и поменять тип уже НЕЛЬЗЯ);
id_tasks int, - ссылка на запись с правильными ответами на номер вопроса num_tasks;
v1,v2,v3,v4,v5 - все tinyint - собсно вводимые ответчиком номера по его мнению правильных ответов)

То есть:
id_answer number id_version num_tasks id_tasks v1 v2 v3 v4 v5
1 нак990101 5 01 177 1 1 1 3 5
2 нак990101 5 02 179 1 2 3 1 2
3 нак990101 5 03 180 1 1 4 5 3
4 нак990101 5 01 190 1 2 3 4 2 - специально задвоен num_tasks
так как проблема именно в задвоен-
ности.
5 нак990101 6 01 190 1 2 3 4 2
6 нак990101 6 02 191 1 1 3 4 2
7 нак990101 6 02 194 4 1 3 1 5
....

надо получить:
для определенного ответчика @tcNumber char(9) (допустим "нак990101") и определённого @tnId_version int (допустим 5), кот. передаётся в SP как параметры
надо сделать след. выборку

num_tasks (если задвоен, то с максимальным id_answer), id_tasks, и склеенные в строку без пробелов варианты ответов. Упорядочить по Num_tasks

Желательно одним селектом. Что-то у меня не выходит... 8((( Прошу прощения за дурацкую задачу... ногами не бейте. Спасибо заранее всем ответившим и предложившим свои варианты.
...
Рейтинг: 0 / 0
и еще вопросец от новичка
    #32003612
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно например так:
select num_tasks, id_tasks, convert(varchar(9),v1*10000+v2*1000+v3*100+v4*10+v5)
from answer a1
where id_answer=@tcNumber and id_version=@tnId_version
and id_answer in
(select max(id_answer) from answer a2 where id_answer=@tcNumber and id_version=@tnId_version and a1.Num_tasks=a2.Num_tasks)
order by Num_tasks
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / и еще вопросец от новичка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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