私は4つのテーブルを持っていますUser,Destination,City and visited
次のように
declare @user table
(
UserId int identity(1,1) not null ,
UserName nvarchar(500)
)
insert into @user (UserName) values ('rahul')
insert into @user (UserName) values ('nitin')
insert into @user (UserName) values ('yunus')
declare @destination table
(
destCode nvarchar(50),
destName nvarchar(500)
)
insert into @destination select 'SWDP','ranthambore national park '
insert into @destination select 'BTP','ghana national park '
declare @city table
(
cityId int identity(1,1) not null,
cityname nvarchar(500)
)
insert into @city select 'jaipur'
insert into @city select 'delhi'
-- visited table in which user id with either destCode or cityId
declare @visited table
(
UserId int ,
LocationFrom nvarchar(500),
LocationTo nvarchar(500),
LocType nvarchar(50)
)
insert into @visited select '1','BTP','1','city'
insert into @visited select '1','1','SWDP','dest'
insert into @visited select '2','1','2','city'
insert into @visited select '3','2','SWDP','dest'
insert into @visited select '3','SWDP','BTP','dest'
select * from @user
select * from @destination
select * from @city
select * from @visited
select * from @visited as v
inner join @user as u ON v.UserId=u.UserId
訪問先テーブルのロケーションタイプ列はLocationTo
タイプを示します。その都市または場所。
次に、これらのテーブルを結合して、どのユーザーがどの都市または目的地から開始し、どの都市および目的地に移動したかというデータを取得できるようにします。
期待される結果は下の画像のとおりです
これは1人のユーザーのみですが、すべてのユーザーに同じものが必要です。