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

如何在一个查询中使用多选?

翟嘉年
2023-03-14

我将编写此查询,它在Console中工作。sql或Workbench中,但当我在@Query中使用它时,我得到了一个语法错误!

意外令牌:LIMIT


@Query("select w.name ,
                (select d.name 
                from document d 
                where w.id = d.workspace.id 
                order by (d.id) DESC 
                LIMIT 1 
                ) as nameLastDoc  
        from Workspace w  
            left join UserWorkspace u on u.workspace.id = w.id 
            left join Document d on w.id = d.workspace.id 
        group by (w.id)")

    List<?> findAllWorkspaces();

在我的IDE中,错误是在下次选择选择 w.name,(选择 d.name...

共有2个答案

唐炳
2023-03-14

就我使用JPA存储库而言,它非常有限(与对数据库的直接查询相比)

你可以直接在控制器中进行查询/你的方法在哪里:

// Autowiring the JdbcTemplate so we can send queries to the database
@Autowired
JdbcTemplate jdbcTemplate;

// Mock method that returns what it got from the database
public List<Map<String, Object> findAllWorkspaces() {
String query = "select w.name ,
            (select d.name 
            from document d 
            where w.id = d.workspace.id 
            order by (d.id) DESC 
            LIMIT 1 
            ) as nameLastDoc  
    from Workspace w  
        left join UserWorkspace u on u.workspace.id = w.id 
        left join Document d on w.id = d.workspace.id 
    group by (w.id)";

return jdbcTemplate.queryForList(query);
}

它返回地图列表

我在我的应用程序中使用了它,因为我必须进行自定义查询,它可以工作。如果这也不起作用,那么您的选择查询就会中断。

强德厚
2023-03-14

我不知道你得到的确切错误,但我在JPA查询中使用< code>limit时遇到了一个错误。您可以尝试移除它一次,看看这是否是问题所在。也参考这个线程

 类似资料:
  • 我有以下实体: 在一个查询中完成是可能的?

  • 问题内容: 我有两个表,一个“公司”和一个“员工”: 我想在表中列出每个员工,并在其旁边列出公司。通过调用并在模板循环中通过并调用,这非常简单。 该解决方案的问题在于,将为循环中的每个项目创建一个新查询。因此,对于每个员工,公司都会有一个查询,看起来像这样: 相反,我希望最初在获取雇员的同一查询中加入此联接。像这样: Django QuerySet是否可能?如果没有,有没有办法可以解决此问题(没有

  • 现在我需要正在学习‘程序设计’课程的学生名单 如何使用条件查询实现这一点。

  • 问题内容: 我正在使用iReport创建JasperReport,因此,我仅限于*一个SQL查询。 我有一个表“ statistics”,其中有一个“名称”(VARCHAR),“计数”(INTEGER)和“日期时间”(DATETIME)列。 当“名称”在最后一天(同样是最后一周和一个月)进行“测试”时,获取“计数”列的总和非常简单。 工作的SQL语句: 但是,由于我只有一个SQL语句可以使用,因此

  • 很抱歉提出这个问题,但ElasticSearch查询可能会令人困惑。。。 目标:创建一个类似谷歌搜索查询的查询。输入的单词越多,得到的匹配结果越少。例如“四川酱”比“木兰四川酱”产生更多的结果。我的索引有一个博客文章类型,它有字段“标题”、“标签”、“类别”。ElasticSearch必须找到与查询中的所有单词相匹配的每个文档。文字可以遍布各个领域。例如,如果一个文档的标题包含“木兰”,它的标签包

  • 问题内容: 这合法吗? 问题答案: 对于它的价值,并取决于是否将相同的数据插入到相同的表中,最好用一个插入插入多个值, 例如