Query query = null
def hql = $/
SELECT
c1.id,
c1.parentId,
c1.navDepth,
c1.navOrder,
c1.title,
c1.fileName,
// aliasing filenamepath column as filepath.
REPLACE(c1.fileNamePath, 'home/', '') AS filepath
FROM Content AS c1
WHERE 0 = 0
LEFT JOIN Content AS c2
ON c1.col1 = c2.fileNameLookup
AND c1.col1 = c2.col1
LEFT JOIN Content AS c3
ON c1.col2 = c3.fileNameLookup
AND c1.col2 = c3.col2
LEFT JOIN Content AS c4
ON c1.col3 = c4.fileNameLookup
AND c1.col3 = c4.col3
LEFT JOIN Content AS c5
ON c1.col4 = c5.fileNameLookup
AND c1.col4 = c5.col4
LEFT JOIN Content AS c6
ON c1.col5 = c6.fileNameLookup
AND c1.col5 = c6.col5
LEFT JOIN Content AS c7
ON c1.col6 = c7.fileNameLookup
AND c1.col6 = c7.col6
LEFT JOIN Content AS c8
ON c1.col7 = c8.fileNameLookup
AND c1.col7 = c8.col7
LEFT JOIN Content AS c9
ON c1.col8 = c9.fileNameLookup
AND c1.col8 = c9.col8
LEFT JOIN Content AS c10
ON c1.col9 = c10.fileNameLookup
AND c1.col9 = c10.col9
AND c1.isNavItem = 1
GROUP BY c1.id
ORDER BY c1.navDepth, c1.navOrder
/$
//def result = Content.executeQuery(hql)
query = Content.executeQuery(hql).setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE)
.addScalar("filepath", new StringType())
List<Map<String,Object>> result = query.list()
return result
有人能让我知道我在里面做错了什么吗?我怎样才能让它工作?
>
放错地方:
FROM
WHERE 0 = 0
LEFT JOIN Content AS c2
应该是:
FROM
LEFT JOIN
LEFT JOIN
...
WHERE
GROUP BY
ORDER BY
查询中没有要设置的filepath参数,如果必须在WHERE子句中而不是在SELECT子句中:
addScalar("filepath", new StringType())
from Cat as cat
left join cat.kittens as kitten
with kitten.bodyWeight > 10.0
问题内容: 我有这些表, 和。我想执行左外部联接。 劳斯莱斯 推出 SUMing,JOINing和GROUPings之后的预期输出==> 我的代码: 但是上面代码的O / P是 我不知道我要去哪里错了-你能解释一下吗? 问题答案: 您没有做错任何事。这就是JOIN的行为 它是左边的行数X右边的行数,在您的情况下为3 x 2 = 6。 试试这个 SQLFiddle 我知道这不适用于SQL Serve
问题内容: 我需要执行此查询:: 我在python中有这些类: 我如何从下面到达上面? 问题答案: 假设并且来自,并且您定义了一个关系,就应该这样做:
问题内容: 我有一个网站,用户可以在其中查看电影列表,并为其创建评论。 用户应该能够看到所有电影的列表。此外,如果他们查看了电影,则他们应该能够看到他们给它的评分。如果不是,则仅显示没有得分的电影。 他们根本不在乎其他用户提供的分数。 考虑以下 我本质上想要的是 考虑以下内容: 两个测试都应打印完全相同的输出,但是,只有原始版本会吐出正确的结果表: orm会返回这个 任何试图加入其余主题的尝试,那
问题内容: 我们有下面的查询。使用LEFT OUTER联接需要9秒钟才能执行。将LEFT OUTER更改为LEFT INNER可以将执行时间减少到2秒,并且返回 相同 数量的行。由于正在处理dbo.Accepts表中相同数量的行,而不论联接类型如何,为什么外层要花3倍的时间? 问题答案: 返回相同行数的事实是事后事实,查询优化器无法预先知道Accepts中的每一行在Marker中都有匹配的行,可以
问题内容: 我不了解左外部联接,右外部联接的概念,或者根本不理解为什么我们需要使用联接!我正在努力解决的问题以及正在处理的表格在这里:链接 问题3(b) 在SQL中构造命令以解决以下查询,解释了为什么必须使用(外部)联接方法。[5分]“找到每名工作人员及其his属(如果有)的姓名” 问题3(c)- 使用(i)join方法和(ii)子查询方法在SQL中构造命令以解决以下查询。[10分]“查找在计算机
问题内容: 这个问题已经在这里有了答案 : SQL中左右联结与左右联结之间的区别[重复] (4个答案) 6年前关闭。 我看到过称为LEFT OUTER JOIN或RIGHT OUTER JOIN的联接。在某些地方,我见过LEFT JOIN或RIGHT JOIN。我对此感到困惑。 我两天前发布了一个问题,但我无法理解解决方案提供的链接。 这些连接类型是否相同,或者两者之间有区别? 问题答案: 两者之