如何用一条sql语句查询多个相同结构的表内 筛选出的结果的条目数?
目的是要分别列出9个表内满足条件sortingPort=1的条目数```SELECTcount(*)FROMcg_01WHEREsortingPort=1unionall...
目的是要分别列出9个表内满足条件sortingPort = 1的条目数
```
SELECT count(*) FROM cg_01 WHERE sortingPort = 1 union all
SELECT count(*) FROM cg_02 WHERE sortingPort = 1 union all
.
.
.
SELECT count(*) FROM cg_09 WHERE sortingPort = 1
```
如果使用union all要将9条语句合并,当我要查询条件为sortingPort = 2的结果,就要修改9次。有没有办法修改FROM后面的内容只用一条语句来查询,或者有其他办法?
```
SELECT count(*)
FROM ??????
WHERE sortingPort = 1
``` 展开
```
SELECT count(*) FROM cg_01 WHERE sortingPort = 1 union all
SELECT count(*) FROM cg_02 WHERE sortingPort = 1 union all
.
.
.
SELECT count(*) FROM cg_09 WHERE sortingPort = 1
```
如果使用union all要将9条语句合并,当我要查询条件为sortingPort = 2的结果,就要修改9次。有没有办法修改FROM后面的内容只用一条语句来查询,或者有其他办法?
```
SELECT count(*)
FROM ??????
WHERE sortingPort = 1
``` 展开
1个回答
展开全部
可以设置变量,可以用for或while循环,也可以用其它语言内嵌sql,例如VBA或python。最简单的还是纯SQL,你参考这个写:
MSSQL 定义变量及条件语句,循环语句,全局变量的使用 - nocomment_84的博客 - CSDN博客
追问
确实简单的声明一个变量就可以解决了
SET @a = 2;
SELECT count(*) FROM cg_01 WHERE sortingPort = @a union all
SELECT count(*) FROM cg_02 WHERE sortingPort = @a union all
.
SELECT count(*) FROM cg_09 WHERE sortingPort = @a
追答
为你的自学能力点赞。
觉得有帮助,即使不道谢,也请及时采纳。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询