P
http://sqlfiddle.com/#!9/2375df/19
с MySQL не оч. знаком, так бы советовал не вложенным запросом, а оконной функцией (partition by), ну или с помощью lateral join (outer join)
Size: a a a
P
VS
P
P
RG
E
z
A
A
D
A
D
A
A
Вариант 1
create table Positions(
Id int not null primary key identity,
_Name nvarchar(100) not null check(_Name <> N'')
);
go
create table Emp(
Id int not null primary key identity,
_Name nvarchar(100) not null check(_Name <> N''),
PositionId int not null foreign key references Positions(Id)
)
A
Вариант 2
create table Emp(
Id int not null primary key identity,
_Name nvarchar(100) not null check(_Name <> N''),
Position nvarchar(100) not null check(_Name <> N'')
)
A
A
A
E
E