Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 помогите с запросом  [new]
sery80
Member

Откуда:
Сообщений: 24
есть
T1
Id кредиту ученик
1 игорь 100
2 игорь 500
3 игорь 132
4 иван 420
5 иван 380
6 вася 110
7 вася 98
надо
Id кредиту ученик
1 игорь 100/732
2 игорь 500/732
3 игорь 132/732
4 иван 420/800
5 иван 380/800
6 вася 110/208
7 вася 110/208
17 дек 17, 19:56    [21040999]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20223
Суммирующий подзапрос.
17 дек 17, 20:25    [21041036]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
over,
Guest
если версия позволяет
sum(сумма)over(partition by ученик)
17 дек 17, 20:30    [21041047]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
xenix
Guest
sery80,
Пойдет?
USE master
GO

WITH STUDENTS(ID,NAME,CREDIT) AS
(
  SELECT 1,'IGOR',100
   UNION ALL
  SELECT 2,'IGOR',500 
   UNION ALL
  SELECT 3,'IGOR',132
   UNION ALL
  SELECT 4,'IVAN',420
   UNION ALL
  SELECT 5,'IVAN',380
   UNION ALL
  SELECT 6,'VASYA',110
   UNION ALL
  SELECT 7, 'VASYA',98     
),
GROUPEDSTUDENTS AS
(
  SELECT S.NAME,SUM(S.CREDIT)TOTALCREDIT
   FROM STUDENTS S
  GROUP BY S.NAME 
)
SELECT S.ID,S.NAME,S.CREDIT,CAST(S.CREDIT AS VARCHAR(3))+'/'+CAST(GR.TOTALCREDIT AS VARCHAR(5))TT
FROM STUDENTS S
JOIN GROUPEDSTUDENTS GR ON S.NAME=GR.NAME
17 дек 17, 20:45    [21041061]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
sery80
Member

Откуда:
Сообщений: 24
Akina,

подзапрос это в смысле вложенный?
17 дек 17, 21:39    [21041132]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
sery80
Member

Откуда:
Сообщений: 24
Akina,

а так что бы дробями выводилось возможно ли
а вот это стока всего ведь надо не так много что даст такой сложный запрос?
17 дек 17, 21:41    [21041136]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
aleksrov
Member

Откуда:
Сообщений: 948
sery80,

ленивый, ленивый студент.

create table #T 
( 
id int, 
col varchar(20), 
Num int 
) 

insert into #T (id,col,Num)  
values (1,'Вася',100),(2,'Вася',250),(3,'Вася',120),(4,'Петя',400),(5,'Вася',260),(6,'Петя',280) 

select id,col,num, cast(100. * Num/ sum(num) over(partition by col) as numeric (5,2)) as Procent, 
from #T 

drop table #T 
18 дек 17, 06:24    [21041488]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3466
aleksrov
sery80,

ленивый, ленивый студент.


всегда было интересно, как поступают и учатся малограмотные..и , главное, зачем?

"а так что бы дробями выводилось возможно ли
а вот это стока всего ведь надо не так много что даст такой сложный запрос?"
18 дек 17, 16:01    [21043095]     Ответить | Цитировать Сообщить модератору
 Re: помогите с запросом  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Ролг Хупин
aleksrov
sery80,

ленивый, ленивый студент.


всегда было интересно, как поступают и учатся малограмотные..и , главное, зачем?

"а так что бы дробями выводилось возможно ли
а вот это стока всего ведь надо не так много что даст такой сложный запрос?"

может он боксёром раньше был :)
18 дек 17, 16:04    [21043104]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить