Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wiele tabel LINQ to SQL pozostawiło sprzężenie zewnętrzne

Oto jak lewe sprzężenia zewnętrzne są implementowane za pomocą LINQ. Powinieneś użyć GroupJoin (join...into składnia):

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

To zapytanie łączy trzy tabele. Możesz dołączyć do pozostałych stołów w ten sam sposób.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje RZECZYWISTA różnica wydajności między kluczami podstawowymi INT i VARCHAR?

  2. PHP PDO i MySQLi

  3. Harmonogram zdarzeń MySQL codziennie o określonej godzinie

  4. Jak sprawić, by klucz podstawowy tabeli MySQL był automatycznie zwiększany z pewnym prefiksem?

  5. MySQL:NULL vs