Нет ничего сложнее, чем один внешний ключ. У этого есть определенный запах к этому, что дизайн не идеален. Но без знания бизнес-требований невозможно быть уверенным или помочь найти лучшую архитектуру.
Вот рабочий пример, изложенный в вашем вопросе.
create table Table2
(
Id int identity primary key
, Value1 varchar(10)
)
create table Table1
(
Id int identity primary key
, Val1 int
, Val2 int
, Val3 int
, constraint FK_Table1_Table2_Val1 foreign key (Val1) references Table2(Id)
, constraint FK_Table1_Table2_Val2 foreign key (Val2) references Table2(Id)
, constraint FK_Table1_Table2_Val3 foreign key (Val3) references Table2(Id)
)
insert Table2 values
('first val')
, ('second')
, ('third')
insert Table1 values
(1, 1, 3)
, (3, 2, 1)