powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как воткнуть case в запрос?
7 сообщений из 32, страница 2 из 2
Как воткнуть case в запрос?
    #39950519
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
godsql, а в каких случаях требуется создавать копии таблиц? сорян за, вероятно, глупый вопрос:)
...
Рейтинг: 0 / 0
Как воткнуть case в запрос?
    #39950594
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кажется, начинаю понимать в каких. сейчас щелкнул пару задачек, на которых раньше был ступор
...
Рейтинг: 0 / 0
Как воткнуть case в запрос?
    #39950696
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Murmakil,

Это не копии таблиц, а алиасы(псевдонимы). Таблица одна и та же, но позволяет обращаться к ней, как с двумя и более.
Для чего? К примеру, простейший селект по нахождению дублей в таблице потребует сравнения разных значений одного и того же поля. Для этого просто назначаются разные алиасы для обращения к одной-единственной таблице.
В общем, используют для удобства :)
...
Рейтинг: 0 / 0
Как воткнуть case в запрос?
    #39951019
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
godsql, где с вами можно пообщаться? у меня многие задачи система не засчитывает из-за проверочной базы, а каждый раз создавать тему вроде как неудобно
...
Рейтинг: 0 / 0
Как воткнуть case в запрос?
    #39951154
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Murmakil,

кидайте сюда. Попробую помочь.
Но в общем-то, ничего сложного, окромя нескольких задач, где неправильно составлено условие и нужно доходить долго и нудно :)
Часто простым distinct решается проблема.
еще можно писать админам, они могут подсказать, в каком направлении копать.

PS. В принципе, в интернете есть сайт с ответами. Но это уже когда совсем все плохо.
...
Рейтинг: 0 / 0
Как воткнуть case в запрос?
    #39951393
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
godsql, задача 56. мое решение не засчитывается из-за проверочной базы.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
with isayka as (
select s.class, count(*) as sunks
from ships as s
join outcomes as o
on o.ship=s.name
where o.result='sunk'
group by s.class
union
select o.ship, count(*) as sunks
from outcomes as o
join classes as c
on o.ship=c.class
where o.result='sunk'
group by o.ship)

select c.class, count(sunks) as sunks
from isayka as i
right join classes as c
on i.class=c.class
group by c.class
...
Рейтинг: 0 / 0
Как воткнуть case в запрос?
    #39951448
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Murmakil,
прочти FAQ к этой задаче
FAq разблокируется после нескольких неверных попыток
Там описывается, почему у тебя ошибка
К сожалению, это из-за того, что логика построения табличных отношений в БД специально изначально кривая

select t.class, sum(t.cnt)
from (
select s.class, 1 cnt, o.ship
from ships s
join outcomes o on o.ship = s.name
where o.result = 'sunk'
union
select c.class, 1 cnt, o.ship
from classes c
join outcomes o on o.ship = c.class
where o.result = 'sunk'
union
select c.class, 0 cnt, ''
from classes c
) t
group by t.class

Модератор: На этой ноте и закончим решать тестовые задачи всем миром
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как воткнуть case в запрос?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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