[SQL] SQL Join tables
Здравейте,
Пиша едно уеб приложение като разширение на това, което Марио Пешев направи на PHP workshop- a. Единствената разлика е че моето е с фирми и служители. Имам страница която визуализира информация за всеки служител обаче ако служителя няма фирма малко се оплескват нещата.
SQL query code -> link
Въпроса ми всъщност е има някакъв начин да се комбинират двете заявки в една за да може, когато даден служител има фирма/и да се върне информация за фирмата/ ите и когато няма да връща NULL?
Странно наистина, на мен ми отваря кода. Знам за варианта с LEFT JOIN- a но идеята ми беше ако може да се напише една заявка която хем да изкарва фирмите в който работи един служител хем да изкарва NULL ако не работи никъде. Може би аз не съм си направил и правилно базата, но идеята е всеки служител да знае в кой фирми работи и всяка фирма да знае кои са и служителите, като за целта съм направил междинна таблица която държи id на служител и id на фирма (релация Many to many).
Утре (тоест днес) ако идваш на лекция ще може ли да ти покажа кода за да ми обясниш нещата? Разбира се ако нямаш нищо против.
Явно е от браузърите, на този компютър ми се отваря вече фидъла.
Тръгваш от таблицата employee_company съответно ще ти изкара за всеки един запис в нея - джойннатите редове и ако нещо не съответства на запис в нея - NULL.
Само, че всички компании са покрити - имаш хора за всяка една компания и записите са ОК. Няма за какво да ти покаже записа Test, защото не е нужно.
Нали идеята е да ти покаже работниците, които имат или нямат компания. Трябва да тръгнеш от работниците и да закачаш към тях таблици
SELECT e.name, e.surname, c.name as company_name
FROM employees e
LEFT JOIN employee_company ec
ON ec.employee_id = e.id
LEFT JOIN companies c
ON ec.company_id = c.id