sql >> Database teknologi >  >> RDS >> Mysql

LINQ til SQL flere tabeller venstre ydre joinforbindelse

Her er, hvordan venstre ydre sammenføjninger implementeres med LINQ. Du skal bruge GroupJoin (join...into syntaks):

from d in context.dc_tpatient_bookingd
join bookingm in context.dc_tpatient_bookingm
     on d.bookingid equals bookingm.bookingid into bookingmGroup
from m in bookingmGroup.DefaultIfEmpty()
join patient in dc_tpatient
     on m.prid equals patient.prid into patientGroup
from p in patientGroup.DefaultIfEmpty()
// ... other joins here
where d.processid == 6 &&
      ((m.branchId == 1 && d.DestinationBranchID == 0) ||
       (d.DestinationBranchID == 1 && d.sendstatus == "R"))
// ... other conditions here
orderby d.priority descending, m.bookingid
select new {
   d.bookingid,
   d.labid,
   d.processid,
   p.prid,
   p.prno,
   m.bookingid // need for grouping
} into x
group x by x.bookingid into g
select g

Denne forespørgsel forbinder tre tabeller. Du kan deltage i resten af ​​bordene på samme måde.



  1. PostgreSQL 12:Fremmednøgler og opdelte tabeller

  2. Hvordan kan du se, om en værdi ikke er numerisk i Oracle?

  3. Oracle:betyder kolonnerækkefølgen noget i et indeks?

  4. Indsaml ydeevnedata ved hjælp af SQLDiag Tool | SQL Server Performance Fejlfinding -6