Maybe you want to join the tables?
SELECT c.company_name, S.first_name, S.last_name, S.position
FROM companies c
INNER JOIN staff
ON c.company_id = staff.company_id
or do you want it all in one column or something...
SELECT c.company_name, concat(S.first_name, ' ', S.last_name, ' ', S.position) as staff
FROM companies c
INNER JOIN staff
ON c.company_id = staff.company_id
Still not sure what you're after so maybe...
SELECT c.company_name, Group_concat(concat(S.first_name, ' ', S.last_name, '-', S.position Order by Last_name, First_name SEPARATOR ':' ) as staff
FROM companies c
INNER JOIN staff S
ON c.company_id = staff.company_id
GROUP BY c.Company_name
What the above should do is concatenate the first name space last name dash position for each row, and then combine the rows separated by a :. This will result in 1 and only 1 record for each company in table staff. thus it will not cause any 1-M relationship issues. as it will treat company/staff as a 1-1 relationship. If need be we can do the generation as a subquery like the following...
SELECT c.company_name, S.StaffList
FROM companies c
LEFT JOIN (SELECT company_ID, Group_concat(concat(S.first_name, ' ', S.last_name, '-', S.position Order by Last_name, First_name SEPARATOR ':' ) as staffList
FROM staff
GROUP BY Company_ID) S
ON c.company_id = S.company_id
this should result in a 1-1 relationship between company & staff. though staffList will be rather complex...