Професионална програма
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
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