Вы можете сделать это без соединительной таблицы, как показано ниже:
Declare @Loop Table
(Loop_Id int,
Name varchar(50))
Insert into @Loop
Values
(1,'Red'),
(2,'Green'),
(3,'Blue')
Declare @Stop_Table Table
(Stops varchar(500),
Loops varchar(50),
DisplayOrder int,
Id int)
Insert into @Stop_Table
(Stops,Loops,DisplayOrder,Id)
Values
('West Stop' ,'Red' ,'1','12'),
('North Stop' ,'Red' ,'2','43'),
('Building Stop' ,'Red' ,'3','15'),
('Park Stop' ,'Red' ,'4','14'),
('Park Stop' ,'Green' ,'1','42'),
('West Stop' ,'Green' ,'3','11'),
('Building Stop' ,'Green' ,'2','8'),
('Building Stop' ,'Blue' ,'1','2'),
('Park Stop' ,'Blue' ,'3','4'),
('West Stop' ,'Blue' ,'2','6')
--To get all loops sort
select S.*,L.* from @Stop_Table S
Join @Loop L
On L.Name = S.Loops
Order by L.Loop_Id,S.DisplayOrder asc
--To get stops for a specific loop.For Ex:Red
select S.*,L.* from @Stop_Table S
Join @Loop L
On L.Name = S.Loops
where L.Name = 'Red'
Order by L.Loop_Id,S.DisplayOrder asc