当前位置: 首页 > 知识库问答 >
问题:

jOOQ:只获得一个结果,而不是所有现有条目

邰宇
2023-03-14

我正在与jOOQ通话:

List<StoreRecord> fetchInto = this.ctx
        .select(Store.STORE.NAME)
        .from(Store.STORE)
        .join(StoreAdminStore.STORE_ADMIN_STORE)
            .on(StoreAdminStore.STORE_ADMIN_STORE.ID.eq(id))
        .where(Store.STORE.ID.eq(StoreAdminStore.STORE_ADMIN_STORE.STORE_ID))
        .fetchInto(StoreRecord.class);

for (StoreRecord store: fetchInto) {
    LOGGER.debug(store.getName());
}

其中应复制此PostreSQL语句:

SELECT
  store.name
FROM store
  JOIN store_admin_store ON store_admin_store.store_admin_id = 1
WHERE store.id = store_admin_store.store_id

然而,jOOQ给了我一个只有一个StoreRecord的列表,尽管这里有五个条目符合某些标准。。

我做错了什么?

共有1个答案

咸亦
2023-03-14

您的jOOQ查询和SQL查询不同。

jOOQ查询:

-- Is
STORE_ADMIN_STORE.ID.eq(id)

-- Should be
STORE_ADMIN_STORE.STORE_ADMIN_ID.eq(id)

SQL查询:

store_admin_store.store_admin_id = 1

现在,您的查询只返回关系表中的一行(ID=1),然后只将单个相关存储连接到它。

除此之外,您可能应该在ON子句和WHERE子句之间切换谓词。现在,您将连接谓词放在WHERE子句中,而过滤器谓词在ON子句中...

 类似资料:
  • 我如何获得所有列没有一个特定的? 示例:如果我有一个包含n列的dataframe、、...,如何获得没有的所有列?

  • 我有几个具有相同类()的div。 我想在div上执行和, 这里的问题是,该函数适用于所有具有该类的DIV,而不仅仅是我放鼠标的那个。 有什么想法吗? null null

  • 问题内容: 我是Java的新手,所以我编写了这段代码,以便将这整个五年都称为布尔值,并为所有布尔值生成答案。但是,它仅调用最后一个。我该怎么做呢? 问题答案: 您每年需要使用单独的对象,或者至少在创建该年份的对象后立即调用the年检查方法。 您所拥有的是对函数的一系列调用,该函数将值分配给同一对象的属性。因此,只有最后一条语句才起作用,因为先前的值将被覆盖。 另外请注意,您的代码似乎没有正确组织。

  • 我在两个表之间有一个关系,其中一个联接表只有一个结果。 当我定义一个Laravel-BelongToMany关系时,我希望它单独返回该项,而不是只返回一个元素的集合。 有没有一种方法可以在Laravel中对此进行建模? 提前感谢。 [编辑] 我将尝试使用经典的用户/角色示例来解释我想要什么。除了de和表之外,我们还有一个pivot表,它将存储用户拥有的所有角色。用户在任何给定时间只能有一个活动角色

  • 我是GraphQL的新手。我正在使用亚马逊和Itunes的API获取一本书的标题(和其他信息)。我返回的对象如下: 我可以调用Amazon和ITunes API并返回一本书的可用数据。但是,我希望能够插入EAN/ISBN数组,并从Amazon和ITunes返回所有书籍的数据。 因此,查询应该是这样的: 而回应: 我已经搜索了使用graphQLList的例子,但我不确定在哪里使用graphQLLis

  • 我想在单页中获得所有的结果,我已经尝试过了 上面不起作用,有什么方法可以做到这一点吗?似乎不能像这里要求的那样从自定义查询中实现。