【发布时间】:2021-12-05 13:01:22
【问题描述】:
@Query(value="SELECT i.name\n" +
"FROM item as i\n" +
"INNER JOIN items_receipts as ir\n" +
" ON i.id = ir.item_id\n" +
"INNER JOIN receipt as r\n" +
" ON ir.receipt_id = r.id\n" +
"GROUP BY i.id\n" +
"HAVING COUNT(r.id)=0"
,nativeQuery = true)
List<String> fiveSales();
【问题讨论】:
-
您的图像是关于不同结构的,但是在工作台中进行查询,然后先尝试不使用连接,然后添加连接,最后添加,这样您就可以看到会发生什么
-
抱歉旧图片已将订单改为收据
-
查询会起作用,您是否外连接收据表,从而保留不匹配的项目行。但我不推荐这个。使用这种方法,您可以计算所有项目的所有订单,只是找到一些根本没有订单的项目。只选择 item_receipts 表中没有条目的项目更容易(即,当 DBMS 看到该表中项目的第一个条目时,它可以停止查找)。请参阅我对此的回答。
标签: mysql sql spring-boot