SELECT `sum(<field>)` FROM (SELECT field from ... WHERE ...)
SQL可能如下所示:
SELECT count(a.id)
FROM (
SELECT art.id
FROM article art
LEFT JOIN store s ON (art.storeId = s.id)
WHERE art.name = 'green Balloon'
GROUP BY s.id
) a;
如何将said SQL转换为querydsl?
编辑:因为它受到混淆:是的,这个例子是愚蠢的。不,我不想“优化”SQL。我所需要的只是一些生成完全相同(愚蠢的)SQL的QueryDSL代码。或者任何其他查询DSL代码生成任何类型的SELECT...FROM(SELECT...)
。如果可能的话。
接受OP只是想知道该语法是否可以在QueryDsl中重复-请考虑以下内容。
应该是这样的:
SQLExpression.select(Expressions.numberPath(Long.class, "ID").count())
.from(SQLExpressions.select(QArticle.id().as("ID"))
.from(QArticle)
.leftJoin(QStore).on(QStore.id()
.eq(QArticle.storeId())
.where(QArticle.name()
.eq("green Balloon"))
.as("SQ")
它很可能简化这一点--但它应该能让你在那里得到大部分的方法。
问题内容: 是否可以执行PIVOT并从表中选择列表,而不是使用单个值? 像这样(不正确的语法错误): 这个可以编译,但是对我不起作用: PS:我不想使用动态SQL,有没有一种方法可以不使用动态SQL? 问题答案: 如果没有动态SQL,那么恐怕答案是否定的,那是不可能的。解析器需要预先知道值才能执行到列的数据透视。
我正在JBoss上使用QueryDSL-JPA,希望在某一点上从一个不同的表中选择一个实体,而不是我通常使用并通过@table进行注释的表。我不想创建一个单独的Java类,因为最终,它应该返回给我与我正在使用的相同的类。
我将以下SQL作为本机查询运行,但我想知道是否有一种方法可以在JPAQuery中运行它,以便使用元组或类实例化。 为了精确起见,我使用了别名而不是qtypes。
我有一个带有QueryDSL JPAQuery的应用程序。这里是: 我已经尝试了DeviceGroup.Customer.Account而不是WorkGroup.Account,结果是一样的。 以下是jpaQuery.toString():
我正在学习AngularJS并尝试实现一个表单。我有一个select元素,我希望能够根据所选文本更改所选值的颜色。 HTML: CSS: 但这不起作用。这里的问题是什么? EDIT1:默认选项在选中时应该是灰色的,甚至在用户打开下拉列表时也应该是灰色的。Rest其他选项应该在两个条件下都有其黑色文本(在选择和下拉列表显示)。 提前道谢。