现有两个表分别为 A 和 B
此时手头上有参数nums = ["a1","a3"]
根据已有的参数,要向表B中查得B.num字段值为"a1"、"a3"
的记录分别的条数,及表A中A.num字段值为"a1"、"a3"
的字段所对应的A.a_name字段的值
想要得到的数据形式:
尝试过程
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 id="xxx" parameterType="java.lang.String" resultType="xxx">
SELECT SUM(b.num = "a1") AS `count`,a.name...
</select>
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即可解决的方案?