31 Mart 2009, Salı
SQL Dış Sol ETMENİZ Katıl
Bu LEFT OUTER
katılmak için eşdeğer sorgu.
//assuming that I have a parameter named 'invoiceId' of type int
from c in SupportCases
let invoice = c.Invoices.FirstOrDefault(i=> i.Id == invoiceId)
where (invoiceId == 0 || invoice != null)
select new
{
Id = c.Id
, InvoiceId = invoice == null ? 0 : invoice.Id
}
CEVAP
31 Mart 2009, Salı
Tam olarak değil - her "" bir-dış-sol birleştirme satır 0-n "sağ"-nereye maçlar sadece 0-1 senin satır (ikinci tablo). maç olacak gittiğinden beri Bir sol dış birleşim yapmak için, örneğin SelectMany
DefaultIfEmpty
:
var query = from c in db.Customers
join o in db.Orders
on c.CustomerID equals o.CustomerID into sr
from x in sr.DefaultIfEmpty()
select new {
CustomerID= c.CustomerID, ContactName=c.ContactName,
OrderID = x.OrderID == null ? -1 : x.OrderID};
Bunu Paylaş:
Dize kullandıktan sonra Dize çıkarmada...
IEnumerable< OrderBy;T> dinamik ET...
Ben ETMENİZ SQL Server Compact Edition...
't Etmeniz SQL noktasını kaçırmak...
Nasıl bir DataTable ETMENİZ kullanarak...