Loading...
Hristo_Penchev avatar Hristo_Penchev 389 Точки

[EXAM 22.07.2015] Problem 12

Здравейте, колеги,

Тръгнах да решавам задачата по следния начин :


SELECT 
    c.CountryName AS [Country Name], 
    COUNT(DISTINCT(im.Id)) AS [International Matches], 
    COUNT(DISTINCT(tm.Id)) AS [Team Matches]
FROM Countries c 
LEFT OUTER JOIN InternationalMatches im ON c.CountryCode = im.HomeCountryCode OR c.CountryCode = im.AwayCountryCode
LEFT OUTER JOIN Teams t ON c.CountryCode = t.CountryCode
LEFT OUTER JOIN TeamMatches tm ON t.Id = tm.HomeTeamId OR tm.Id = tm.AwayTeamId

GROUP BY CountryName
HAVING COUNT(DISTINCT(im.Id)) > 0 OR
       COUNT(DISTINCT(tm.Id)) > 0
ORDER BY [International Matches] DESC, [Team Matches] DESC, [Country Name] ASC

 

Накратко - броя ID-тата на международните мачове, в които е участвал всеки отбор. Броя и ID-тата на мачовете, в които е участвал поне един отбор от дадена държава. Обаче според отговорите има само един мач на германски клуб, Обаче като погледнем в базата, мачовете са два - С Id = 3 и id = 5. Тоест мачовете са два. Действително, на мач номер 5 имаме NULL като отбелязани голове и дата. Тоест може да се разглежда като отложен и да не се брои. Но това мисля, че е супер специфична ситуация и е по-скоро недомислица в условието. Или аз греша в решението си. Споделете кой как я е решил.

Тагове:
1
Advanced Level: Back-End
ibakyrdjiev avatar ibakyrdjiev 172 Точки

Добре е да знаеш, че и json-a не се валидира :)

1
Hristo_Penchev avatar Hristo_Penchev 389 Точки

Благодаря, това е ценна информация. Ще ми спести много псуване и нерви.

1
Hristo_Penchev avatar Hristo_Penchev 389 Точки

JSON-a явно са го оправили, вече се валидира.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.