Я хочу получить все записи из одной таблицы с именем Visitor, и у меня есть другая таблица с именем booking_visitor
моя таблица посетителей
Посетитель * * 1005
VisitorId
VisitorName
Эл. адрес
Телефон
Фото
Booking_visitor
BookingId F.k
VisitorId F.k
Я хочу получить все записи из таблицы посетителя и на основании этого каждый идентификатор, присутствующий в таблице Booking_visitor, извлекает каждую запись со значением VisitorId
если
VistorId равен 1 для первой записи, и этот идентификатор указывается три раза в таблице Booking_visitor, а для посетителя = 1 он должен показывать три записи ниже этой записи
Я пытался по своей логике, но, похоже, я не получаю должного результата, возможно, мой контроллер неверен или мой взгляд на бритву неверен
Вот что я пробовал
var visitor= db.Fetch<Visitor>("Select VisitorId,VisitorName from Visitors");
foreach (var vs in Visitors)
{
ViewBag.VisitorsAmount= db.Query<Bookingvw>("select b.BookingId,bd.BookingDetailId,v.VisitorId,v.VisitorName,bd.CheckIn,bd.CheckOut from Booking_visitor bv " +
"inner join Booking b on b.BookingId= bv.BookingId" +
"inner join Visitors v on v.VisitorId= bv.VisitorId" +
$"inner join BookingDetails bd on bd.BookingId= b.BookingId where v.VisitorId= {vs.VisitorId} ");
"group by b.BookingId, bd.BookingDetailId, v.VisitorId, v.VisitorName, bd.CheckIn, bd.CheckOut ");*/
}
return View(visitor);
@model IEnumerable<Visitors>
@foreach (var item in Model)
{
<tr>
<td>@item.VisitorName</td>
</tr>
}
<tr>
@{
var vsamt = (IEnumerable<Bookingvw>)ViewBag.VisitorsAmount;
}
<th>
Booking Id
</th>
<th>
Check In
</th>
</tr>
@foreach (var item2 in vsamt )
{
<tr>
<td>
@Html.DisplayFor(modelItem => item2.BookinId)
</td>
<td>
@Html.DisplayFor(modelItem => item2.CheckIn)
</td>
</tr>
}
}
Я хочу получить иерархический результат для первого посетителя, есть ли какой-либо результат, а затем показать, что результат ниже первого посетителя