Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите написать SELECT / 9 сообщений из 9, страница 1 из 1
28.03.2001, 14:16
    #32003638
Саня
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать SELECT
есть табличка балов за тесты RightAnswer (v1,v2,v3,v4,v5 - все tinyint)

v1 v2 v3 v4 v5
2 2 2 5 2
2 5 2 2 2
5 2 2 2 2
...

как сделать еще один столбец, где в каждой записи будет посчитано количество балов = 2

то есть
v1 v2 v3 v4 v5 Сnt2
2 2 2 5 2 4
2 5 2 2 2 4
5 2 2 2 4 3

?????????????????????
...
Рейтинг: 0 / 0
28.03.2001, 14:28
    #32003639
DmitryGolubev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать SELECT
Самое простое, что пришло в голову
Може кто, что поинтереснее придумает

SELECT

*
, CASE v1
WHEN 2 THEN 1
ELSE 0
END
+
CASE v2
WHEN 2 THEN 1
ELSE 0
END
+
CASE v3
WHEN 2 THEN 1
ELSE 0
END
+
CASE v4
WHEN 2 THEN 1
ELSE 0
END
+
CASE v5
WHEN 2 THEN 1
ELSE 0
END

FROM
test
...
Рейтинг: 0 / 0
28.03.2001, 14:41
    #32003643
саня
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать SELECT
Спасибо. Работает
...
Рейтинг: 0 / 0
29.03.2001, 03:34
    #32003674
dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать SELECT
В качестве изврата можно еще и так:
Select *, (sign(1-sign(v1-2.1))+sign(1-sign(v2-2.1))+sign(1-sign(v3-2.1))+sign(1-sign(v4-2.1))/2 from RightAnswer
(это в случае, если 2- минимальная оценка. Если это не так, то можно сделать аналогично)
...
Рейтинг: 0 / 0
29.03.2001, 14:35
    #32003706
Ildar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать SELECT
или так, используя битовые операции

select *,
(((v1&2) + (v2@2) + (v3&2) + (v4&2) + (v5&2)) / 2) as Сnt2
from RightAnswer
...
Рейтинг: 0 / 0
29.03.2001, 14:37
    #32003707
Ildar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать SELECT
опа,описался. вот так:
select *,
(((v1&2) + (v2&2) + (v3&2) + (v4&2) + (v5&2)) / 2) as Сnt2
from RightAnswer
...
Рейтинг: 0 / 0
30.03.2001, 00:04
    #32003727
dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать SELECT
2 IIdar: В таком виде не годится 2&3=1
Ну и если есть оценки >5, то 6,7,...
Но идея понятна
...
Рейтинг: 0 / 0
30.03.2001, 00:15
    #32003728
dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать SELECT
Опа, теперь я описался
2&3=2
...
Рейтинг: 0 / 0
30.03.2001, 10:19
    #32003737
Ildar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать SELECT
неа, не пойдет т.к. 6&3=2
и мой вариант оказывается тоже с багом,
тройка примется как двойка (для 1..5)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите написать SELECT / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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