Mysql: Create a view with multiple self joins without duplicates in result
Inner Join:

An inner join produces a result set that is limited to the rows where there is a match in both tables for what we're looking for.  If you don't know which kind of join you need, this will usually be your best bet.

Left Outer Join:

Add to Where 

... and establishment_id is not null and department_id is not null   


And sometimes just to make it complete i do also 

... and establishment_id&lt;&gt;'' and department_id&lt;&gt;''