[HOMEWORK] Databases Basics - Basic CRUD - Problem 10. Find Names of All Employees
Колеги, по отношение на задача 10 от Basic CRUD exercises - аз ли съм тъп или има някакъв проблем в judge-a (вече видяхме, че има за 13та задача, аз вчера докладвах през системата за 17та - view-то всъщност трябва да е именувано 'V_EmployeeNameJobTitle' , а не както е по задание, надявам се да са го оправили вече)
Problem 10. Find Names of All Employees
Write a SQL query to find the full name of all employees whose salary is 25000, 14000, 12500 or 23600. Full Name is combination of first, middle and last name (separated with single space) and they should be in one column called “Full Name”.
Това е кодът, в SSMS-a си дава правилния резултат, и изобщо не виждам какъв може да е проблемът тук:
SELECT CONCAT(FirstName,' ',MiddleName,' ',LastName) AS [Full Name] FROM Employees
WHERE Salary IN (25000, 14000, 12500, 23600 )
Предварително благодаря! :)
Благодаря за разясненията, сам никога нямаше да се сетя за този метод за формиране на името, признавам си :)
Иначе на мен ми се струва, че задачата не е съвсем коректно зададена, още повече, че резултатът при мен си излиза и бях крайно озадачен. Подозирам, че не ми дава точките, защото брои спейсовете, а при моя метод се получават два, ако липсва презимето. :)
В момента мисля как може да се премахне един спейс, ако презимето е NULL, въртят ми се разни идеи, ама усещам, че ще падне мислене.
Още веднъж благодаря!
Чесно казано аз в началото, като видях твоето решение, си мислех, че моето е грешно. Но май самата задача всъщност ни е дадена за да се усетим, че когато се събере(с +) string с NULL се получава NULL. И благодарение на това, можеш да си дадеш отговор как да махнеш един спейс, ако презимето е NULL на 17.Problem. Ето кода:
A, отлично! Пробвах се с ISNULL, с COALESCE - един и същ резултат (двойно празно място при NULL MiddleName). Пробвах и с CASE - не мога да задам име на селекцията - AS [FullName] дава грешка. Въобще не съобразих, че реално.. Null + whitespace = null .
Благодаря!