我正在处理左连接查询,我没有收到我预期的结果。我一遍又一遍地搜索,但一直无法找到造成这个问题的原因。当我执行以下代码时,它返回LEFT INNER JOIN的结果(仅左侧与右侧项目匹配的记录)。我试图指定LEFT OUTER但没有成功。我错过了一些简单的东西吗?
var records = ORMExecuteQuery("SELECT new map(inst.id AS installationId,
inst AS installation,
uaa.id AS id,
uaa.permission AS permission,
uaa.app AS app)
FROM Installation AS inst,
LEFT JOIN inst.userApplicationAccesses AS uaa
WITH uaa.user.userId = ?", [Arguments.userId]);
答案 0 :(得分:0)
好吧你的左连接很奇怪。您将继续加入一个列,而不是一个表,并且该列是您第一个表的一部分(您甚至将该名称称为名称)。
您的外部联接应该类似于:
Select *
From Table_A as A
Left Outer Join Table_B as B on B.ID = A.ID
是的,Table_A和Table_B都可以是同一个表,但该表应该列出两次。