আমার কাছে নিম্নলিখিত এসকিউএল রয়েছে, যা আমি লিনকিউতে অনুবাদ করার চেষ্টা করছি:
SELECT f.value
FROM period as p
LEFT OUTER JOIN facts AS f ON p.id = f.periodid AND f.otherid = 17
WHERE p.companyid = 100
আমি বাম বাহ্যিক জোড় (যেমন into x from y in x.DefaultIfEmpty()
ইত্যাদি) এর সাধারণ বাস্তবায়ন দেখেছি তবে অন্যান্য যোগদানের শর্তটি কীভাবে প্রবর্তন করতে পারি তা সম্পর্কে নিশ্চিত নই ( AND f.otherid = 17
)
সম্পাদনা
AND f.otherid = 17
শর্তটি WHOE দানের পরিবর্তে JOIN এর অংশ কেন ? কারণ f
কিছু সারির জন্য অস্তিত্ব থাকতে পারে এবং আমি এখনও এই সারিগুলি অন্তর্ভুক্ত করা চাই। শর্তটি জোয়ারের পরে WHERE ধারাতে প্রয়োগ করা হয় - তবে আমি যে আচরণটি চাই তা পাই না।
দুর্ভাগ্যক্রমে এটি:
from p in context.Periods
join f in context.Facts on p.id equals f.periodid into fg
from fgi in fg.DefaultIfEmpty()
where p.companyid == 100 && fgi.otherid == 17
select f.value
এর সমতুল্য বলে মনে হচ্ছে:
SELECT f.value
FROM period as p
LEFT OUTER JOIN facts AS f ON p.id = f.periodid
WHERE p.companyid = 100 AND f.otherid = 17
যা আমি পরে করছি ঠিক তা নয়।