#mysql
#mysql
Вопрос:
Предположим, у меня есть следующие три таблицы.
Staff
id | name
---------
1 Tom
2 Mary
Fulltime staff
id | name
---------
1 Tom
Parttime staff
id | name
---------
2 Mary
Есть ли способ, которым я могу отобразить это с помощью SQL? Или я должен добавить еще один столбец в таблицу персонала?
Mysql
id | name | Work nature
----------------------
1 Tom Fulltime
2 Mary Parttime
Комментарии:
1. Наличие
Staff
таблицыenum('Parttime', 'Fulltime')
имело бы больше смысла в качестве структуры.2. Пожалуйста, ознакомьтесь с разделами Mysql Joins mysqltutorial.org/mysql-join
Ответ №1:
Если вы не хотите, чтобы у людей были разные имена, когда они работают полный или неполный рабочий день, не повторяйте имена людей.
Ничто не мешает кому-либо работать как полный, так и неполный рабочий день. Или ни то, ни другое. Вместо трех таблиц создайте одну.
create table staff (
id bigint primary key auto_increment,
name varchar(255) not null,
type enum('fulltime', 'parttime') not null
)
Теперь каждый человек может быть только одним типом сотрудника, имена не повторяются, и ваш выбор тривиален.