0

what is the linq equivalent of nested left join below?

SELECT y.YazilimciId, y.AdSoyad, u.UygulamaId, y.KullaniciAdi, y.IsTel, y.CepTel, y.Eposta, k.KurumAdi
FROM Yazilimcilar y,
     UygulamaYazilimci uy,
     Uygulamalar u
        left outer join
            (
                UygulamaKurum uk
                    left outer join  Kurumlar k on uk.KurumId = k.KurumId
            ) on u.UygulamaId = uk.UygulamaId

WHERE y.YazilimciId = uy.YazilimciId
AND   uy.UygulamaId = u.UygulamaId
AND   u.UygulamaId = '19EA3A29-40FF-45FF-B289-03885FDC9BFC'
serefbilge
  • 1,654
  • 4
  • 29
  • 55

1 Answers1

0

why do you need nested join? Actually, I've never seen syntax like this before and I'm not sure it will work, not at MS SQL Server, anyway. You can write your query as

SELECT y.YazilimciId, y.AdSoyad, u.UygulamaId, y.KullaniciAdi, y.IsTel, y.CepTel, y.Eposta, k.KurumAdi
FROM Yazilimcilar y,
     UygulamaYazilimci uy,
     Uygulamalar u
    left outer join UygulamaKurum uk on u.UygulamaId = uk.UygulamaId
    left outer join Kurumlar k on uk.KurumId = k.KurumId
WHERE y.YazilimciId = uy.YazilimciId
AND   uy.UygulamaId = u.UygulamaId
AND   u.UygulamaId = '19EA3A29-40FF-45FF-B289-03885FDC9BFC'

I could also suggest to rewrite all join in proper join syntax

SELECT y.YazilimciId, y.AdSoyad, u.UygulamaId, y.KullaniciAdi, y.IsTel, y.CepTel, y.Eposta, k.KurumAdi
FROM Uygulamalar u
    inner join UygulamaYazilimci uy on uy.UygulamaId = u.UygulamaId
    inner join Yazilimcilar y on y.YazilimciId = uy.YazilimciId
    left outer join UygulamaKurum uk on u.UygulamaId = uk.UygulamaId
    left outer join Kurumlar k on uk.KurumId = k.KurumId
WHERE u.UygulamaId = '19EA3A29-40FF-45FF-B289-03885FDC9BFC'

Now you can easily write LINQ :)

Roman Pekar
  • 107,110
  • 28
  • 195
  • 197
  • Hmm, interesting; my sql also works in ms sql server, but yours is better and easy to convert. I appreciate it. – serefbilge Nov 24 '12 at 06:30
  • I've tested it, yes that nested syntax working. But I cannot think why should I use that syntax - it's harder to read and I cannot see any benefits it gives. – Roman Pekar Nov 24 '12 at 07:11