Софтуерно Инженерство
Loading...
+ Нов въпрос
kosio197 avatar kosio197 104 Точки

Problem 23 - User in Games with Their Statistics from Functions Triggers And Transactions

Привет,

Опитах ръчно да проверя отговорите, но не успявам да стигна примерно до 258 за streight  за  това от примерния изход:

skippingside

Rose Fire & Ice

Sorceress

258

 

skippingside има 2 characters за тази игра - Sorceress и Druid, според условието трябва да събера бонуса от играта + бонуса от character-a + сумата от бонусите на всички items. Тоест от това което разбирам трябва да има два записа за skippingside и Rose Fire & Ice в изхода, един за Druid и един за Sorceress

Бонуси:

за играта - 10 , за Characters: Druid - 17  Sorceress - 11, за items -  Druid - 68, Sorceress-163 (Това са бонусите за streight). Та от тези цифри трябва да се получи 258, но не виждам как.

Та може ли някой да постне решение, тъй като не мога да разбера съвсем условието.

Благодаря!

Поздрави, Косьо

 

Тагове:
2
Databases Basics - MySQL
stambi4a avatar stambi4a 126 Точки

Колега, това върви:

select 
	u.user_name, 
	g.name as game, 
	MAX(c.name) as ch,
	SUM(its.strength) + MAX(gts.strength) + MAX(cs.strength) as strength,
	SUM(its.defence) + MAX(gts.defence) + MAX(cs.defence) as defence,
	SUM(its.speed) + MAX(gts.speed) + MAX(cs.speed) as speed,
	SUM(its.mind) + MAX(gts.mind) + MAX(cs.mind) as mind,
	SUM(its.luck) + MAX(gts.luck) + MAX(cs.luck) as luck
from users u
join users_games ug on ug.user_id = u.id
join games g on ug.game_id = g.id
join game_types gt on gt.id = g.game_type_id
join statistics gts on gts.id = gt.bonus_stats_id
join characters c on ug.character_id = c.id
join statistics cs on cs.id = c.statistics_id
join user_game_items ugi on ugi.user_game_id = ug.id
join items i on i.id = ugi.item_id
join statistics its on its.id = i.statistics_id
group by u.user_name, g.name
order by strength desc, defence desc, speed desc, mind desc, luck desc

 

2
kosio197 avatar kosio197 104 Точки

Голямо благодаря

Дифа между твоята и моята заявка е само MAX()

аз голямо чудене му хвърлих ..........................

1
stambi4a avatar stambi4a 126 Точки

Аз се чудих много повече време на условието, а и не съм единствен. Линк

0
11/10/2016 21:07:21
AntonPortenov avatar AntonPortenov 77 Точки

Здравейте,

и при мен чуденето е голямо над тази задача особенно когато видях и решението.

Каква е логиката на

MAX(c.name) as ch,

в това решение?

Също така защо

SUM(its.strength) + MAX(gts.strength) + MAX(cs.strength) as strength,

сумираш дадена статистика с MAX статистика? Къде е връзката?

 

Благодаря

1
13/10/2016 23:48:05