The original question was database specific, but perhaps this is a good place to include a more generic answer. It's a common question. The concept that you are describing is often referred to as 'Group Concatenation'. There's no standard solution in SQL-92 or SQL-99. So you'll need a vendor-specific solution.
- MySQL - Probably the simplest solution. Use the built-in GROUP_CONCAT function. In your example you would want something like this:
select
o.ID, o.Address, o.OtherDetails,
GROUP_CONCAT( concat(e.firstname, ' ', e.lastname) ) as Employees
from
employees e
inner join organization o on o.org_id=e.org_id
group by o.org_id
PostgreSQL - PostgreSQL allows you to define your own aggregate functions with CREATE AGGREGATE. Slightly more work than MySQL, but much more flexible. See this other post for more details.
Oracle & MS SQL Server - Create a stored procedure that takes the org_id as its input and outputs the concatenated employee names. Then use this stored procedure in your query. Some of the other responses here include some details about how to write stored procedures like these.
select
o.ID, o.Address, o.OtherDetails,
MY_CUSTOM_GROUP_CONCAT_PROCEDURE( o.ID ) as Employees
from
organization o
- Other DBMS technologies - The stored procedure route is the most likely. Perhaps others can update this answer with more technology specific answers.