Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

ktodorov avatar ktodorov 42 Точки

[DB-Fundamentals - Table Relations] - Problem 13. Employee 24

Здравейте,

Някой може ли да ми каже защо следното решение не минава в judge:

SELECT e.employee_id, e.first_name,
CASE
	WHEN p.start_date > '20050101' THEN NULL
	ELSE p.name
	END AS project_name
FROM employees AS e
INNER JOIN employees_projects AS ep
ON e.employee_id = ep.employee_id
INNER JOIN projects AS p
ON ep.project_id = p.project_id
WHERE e.employee_id = 24

Когато реша задачата по този начин:

SELECT e.employee_id, e.first_name, p.name AS project_name
FROM employees AS e
INNER JOIN employees_projects AS ep
ON e.employee_id = ep.employee_id
LEFT OUTER JOIN projects AS p
ON ep.project_id = p.project_id
AND p.start_date < '20050101'
WHERE e.employee_id = 24

judge ми приема решението за вярно.

Резултатът от двете решения е идентичен, защо първото се отчита от judge като грешно?

Поздрави

Тагове:
1
Module: Java DB
StaVykoV avatar StaVykoV 169 Точки

Up, и аз се интересувам от този отговор :)

0
ktodorov avatar ktodorov 42 Точки

Up            

0
angelnb avatar angelnb 24 Точки

Здравей,

Аз имах същият проблем със задача "Salary Challenge" от "Data Aggregation" лекцията. На едно от упражненията попитах Тео защо се получава така и той, каза че това е просто бъг в judge. Та най-вероятно и с тази задача е същото.

1
angelnb avatar angelnb 24 Точки

П.С.

Тео ме увери, че на изпита задачите ще са проверени и такива проблеми няма да има.

1
ktodorov avatar ktodorov 42 Точки

Ясно, благодаря! Така и предположих. Дано наистина няма такива случаи на изпита :)

0
a_dimitrov avatar a_dimitrov 20 Точки

Има ли някакъв проблем с джъдж, защото в момента дава грешка за всякакви решения.....копирах твоето примерно решение за проба и пак дава грешка.

0
Bojo96 avatar Bojo96 Trainer 147 Точки

Да, MySQL пада в Judge, поради бъг. Скоро ще бъде fix-нат и няма да има проблеми. Извиняваме се за неудобството.

1
kvadrat4o avatar kvadrat4o 17 Точки

При мен се получава все още, ако ползвам CASE / WHEN

0
21/09/2017 09:30:26
Todor_Kolev avatar Todor_Kolev 0 Точки

това не минава:

Select
e.EmployeeID
,e.FirstName
,case
        when datepart(year,p.StartDate) = 2005 then 'NULL'
        else p.Name
        end as ProjectName
from Employees as e
Join EmployeesProjects as ep
on e.EmployeeID = ep.EmployeeID
join Projects as p
on ep.ProjectID = p.ProjectID
where e.EmployeeID = 24

0
vilievkofata avatar vilievkofata 2 Точки
SELECT employees.employee_id, first_name, IF(projects.start_date >= '2005-01-01', NULL, projects.name)
FROM employees
         JOIN employees_projects on employees.employee_id = employees_projects.employee_id
         JOIN projects on employees_projects.project_id = projects.project_id
WHERE employees.employee_id = 24
ORDER BY projects.name;

 

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