gpt4 book ai didi

sql - 林克;如何执行多个条件的左外连接?

转载 作者:行者123 更新时间:2023-12-05 01:34:44 26 4
gpt4 key购买 nike

我正在尝试模仿:

DB1 AS A LEFT OUTER JOIN
DB2 AS B
ON A.[Currency Code] = B.[Currency Code]
AND A.[Document Date] >= B.[Starting Date]
AND A.[Document Date] <= B.[Ending Date]

这是我现在拥有的:

from ledgers in ledgerEntries
join currency in currencyExchange
on ledgers.CurrencyCode equals currency.CurrencyCode
into c
from currencies in c.DefaultIfEmpty()
where
ledgers.DocumentDate >= currencies.StartingDate
&& ledgers.DocumentDate <= currencies.EndingDate

我读过有关创建匿名类型并将它们设置为彼此相等的信息,但是当使用小于和大于来比较日期时这不起作用。

最佳答案

好像this答案正是我要找的。

from ledgers in ledgerEntries
join currency in currencyExchange
on ledgers.CurrencyCode equals currency.CurrencyCode
into c
from currencies in c.Where(currency => currency.StartingDate <= ledgers.DocumentDate
&& currency.EndingDate <= ledgers.DocumentDate).DefaultIfEmpty()

结合this回答,我能够简化为:

from ledgers in ledgerEntries
from currencies in currencyExchange.Where(
currency => currency.CurrencyCode == ledgers.CurrencyCode
&& currency.StartingDate <= ledgers.DocumentDate
&& currency.EndingDate <= ledgers.DocumentDate).DefaultIfEmpty()

关于sql - 林克;如何执行多个条件的左外连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16217964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com