- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个比较简单的F#
带有连接的查询表达式:
let mdrQuery =
query {
for header in db.CustomerDetails do
leftOuterJoin row in db.MDR_0916
on (header.PID = row.PID) into result
select (result, header)
}
header
和
result
但是对于
header
row
中不匹配的,
result
只是一个空序列,当查询结果传递给自定义类型时,我收到一个错误,即构造函数与
row
中的字段相关联没有定义。这对于任何
header
都是有意义的。
row
中没有匹配项, 一个
null
返回序列。一个例子:
mdrQuery |> Seq.head;;
val it :
seq<dbSchema.ServiceTypes.MDR_0916> * dbSchema.ServiceTypes.CustomerDetails
= (seq [null], CustomerDetails {ACCOUNTMANAGER = null;
ACCOUNTSTATUS = "XC";
ADDRESSLINE1 = null;
ADDRESSLINE2 = null;
ADDRESSLINE3 = null;
ADDRESSLINE4 = "123 PIG ROAD"...
leftOuterJoin
documentation here .但是,当我尝试使用该示例作为查询模板时:
let mdrQuery =
query {
for header in db.CustomerDetails do
leftOuterJoin row in db.MDR_0916
on (header.PID = row.PID) into result
for row in result.DefaultIfEmpty() do
select (result, header)
}
.DefaultIfEmpty()
拼出错误
error FS0039: The field, constructor or member 'DefaultIfEmpty' is not defined
result
中不匹配的行与
None
(或其他一些空 SQL 空值)以便可以将整个查询传递给我的记录类型?
mdrQuery |> Seq.head;;
val it :
seq<dbSchema.ServiceTypes.MDR_0916> * dbSchema.ServiceTypes.CustomerDetails
= (MDR_0916 {AIMExp = null;
AP = null;
APComp = null;
APEng = null;
APFine = null;
APForl = null;...},
CustomerDetails {ACCOUNTMANAGER = null;
ACCOUNTSTATUS = "XC";
ADDRESSLINE1 = null;
ADDRESSLINE2 = null;
ADDRESSLINE3 = null;
ADDRESSLINE4 = "123 PIG ROAD"...
ToOption result
简单地输出一个
Some (seq [null])
.
最佳答案
文件有误;在 C# 中,没有 leftOuterJoin
的直接等价物。运算符,所以 DefaultIfEmpty
与普通连接一起使用,但在 F# 中您不需要它(查询生成器会为您执行此转换 - 如果您好奇,请参阅 source 中的 QueryBuilder.LeftOuterJoin
)。
如果您想要传统左连接的结果,则只需添加额外的 for
没有 DefaultIfEmpty
的循环(但请注意 - 您要选择新绑定(bind)的 row
值,而不是 result
序列):
let mdrQuery =
query {
for header in db.CustomerDetails do
leftOuterJoin row in db.MDR_0916
on (header.PID = row.PID) into result
for row in result do
select (row, header)
}
null
MDR_0916
的值缺少的条目,不是特殊的
MDR_0916
null
的值但是,如果需要后处理步骤,则可能需要应用后处理步骤。
关于f# - F# 中的 leftOuterJoin 和 `.DefaultIfEmpty()` 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39897985/
我有以下两个rdd: name_to_hour = sc.parallelize([("Amy", [7,8,7,18,19]), ("Dan", [6,7]), ("Emily", [1,2,3,7
leftOuterJoin 的文档Query Expressions on MSDN通过样本反复暗示使用 leftOuterJoin .. on .. into .. 时您仍然必须使用 .Defaul
这个问题在这里已经有了答案: Left outer join in linq (4 个答案) 关闭 9 年前。 我有一个包含 innerjoin 和 leftouter join 的 sql 查询,
我正在尝试在 Flink 中执行 LeftOuterJoin。我不尝试自己实现 leftOuterJoin,因为它已完成在这里使用 CoGroupFunction:https://gist.githu
我有一个比较简单的F#带有连接的查询表达式: let mdrQuery = query { for header in db.CustomerDetails do
来自脚手架站点中人为的config/models: Inventory name Text description Text Container name Te
我需要一些帮助,因为无法真正解释这个问题。我们有一个半复杂的 nhibernate 查询: var query = _tyreRepository.Session.QueryOver(() => ty
我正在尝试执行 JavaPairRDD 和 JavaPairRDD 的 leftOuterJoin> 并且函数签名返回类型是 JavaPairRDD>>> 这里可选的是 com.google.comm
我是一名优秀的程序员,十分优秀!