Возможно, вы хотите присоединиться к столам?
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
или вы хотите все это в одном столбце или что-то ...
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
Все еще не уверены, что вы после этого так возможно ...
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
Какого выше, следует выполнить конкатенацию позиции имени последней фамилии пространства имен для каждой строки, а затем объединить строки, разделенные символом:. Это приведет к 1 и только 1 записи для каждой компании в штате стола. таким образом, это не вызовет никаких проблем с отношениями 1-M. поскольку он будет относиться к компании/персоналу как к отношениям 1-1. В случае необходимости мы можем сделать генерацию как подзапрос, как в следующем ...
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
это должно привести к 1-1 отношений между компанией & персоналом. хотя staffList будет довольно сложным ...
Хорошо, так как присоединение не сработает .... Можете ли вы показать ожидаемые результаты? – xQbert
«Я хочу, чтобы все сотрудники компании были добавлены в дополнительную колонку», поэтому, если у компании 10 сотрудников, вы хотите, чтобы первая, последняя и позиция были указаны для всех сотрудников в 1 колонке? 'concat' &' Group_Concat' звучит как функции, которые вы хотите – xQbert
Извините, это не работает для меня, данные о персонале включают дату рождения, department_id, статус, фотографию и т. д., поэтому я не могу просто конкатрировать все поля. – AlecTMH