mysql xml 查询_mapper.xml中的mysql查询问题

博客内容涉及使用MySQL查询解决特定问题。参数nums包含"a1"和"a3",目标是获取B表中num字段匹配的记录数,以及A表中对应num字段的a_name值。当前尝试的SQL语句只能逐个获取数据,导致多次数据库操作。寻求在Mapper.xml中实现一次性查询的解决方案,或者通过优化查询减少数据库交互次数。
摘要由CSDN通过智能技术生成

现有两个表分别为 A 和 B

0a6d3348edb9f0299146991b024e9f03.png

e7d0dd42819b73d5f748d18907cbc7f8.png

此时手头上有参数nums = ["a1","a3"]

根据已有的参数,要向表B中查得B.num字段值为"a1"、"a3"的记录分别的条数,及表A中A.num字段值为"a1"、"a3"的字段所对应的A.a_name字段的值

想要得到的数据形式:

12c4b714d4b6f682a71c603d9a9576dd.png

尝试过程

SQL语句:(执行一次只能获得一行数据,若多次执行的话,当参数过长时会频繁发起数据库操作,请求响应时间太长)

SELECT SUM(b.num = "a1") AS `count`,a.a_name,a.num FROM a,b WHERE b.num = a.num AND b.num ="a1";

mapper.xml中:

SELECT SUM(b.num = "a1") AS `count`,a.name...

SELECT子句中如何引用参数并且此处还有循环,已跪...

是我思路不对还是此需求没有实现方案?求解惑...

更新:

另一思路:

SELECT num,a_name FROM a where num IN ("a1","a3");

num a_name

a1 麻辣串

a3 香肠

SELECT COUNT(num = "a1") AS "a1",COUNT(num = "a3") AS "a3" FROM b;

a1 a3

3 2

将两次查询所得的结果进行处理,即得出需要的数据格式

然有没有能一句SQL即可解决的方案?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值