SQL While 循环从 select 在另一个选择中

SQL While loop from select in another select

提问人:hudossan 提问时间:3/6/2023 最后编辑:hudossan 更新时间:3/6/2023 访问量:65

问:

需要一些帮助来尝试解决此问题。 我从数据库本身查询以获取table_schema名称并创建一个行号:

SELECT ROW_NUMBER() OVER (ORDER BY TABLE_SCHEMA), TABLE_SCHEMA
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA like 'test\_%'
ORDER BY TABLE_SCHEMA

我想用这个查询创建一个while循环,用这个查询从每个表中给我数据:

Select 
count('list'),
name 
From test_123.order
group by name

所以像这个伪代码:

While row_number less than total rows
Select 
count('list'),
name 
From concat((SELECT ROW_NUMBER() OVER (ORDER BY TABLE_SCHEMA), TABLE_SCHEMA
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA like 'test\_%'
ORDER BY TABLE_SCHEMA),'.order')
group by name

最后,我想得到这个:

ROW_NUMBER TABLE_SCHEMA 名字 count('列表')
1 test_123 千斤顶 100
2 test_234 开膛 手 200

这可能实现吗?

亲切问候

sql postgresql select while-loop 子查询

评论

0赞 nbk 3/6/2023
MySQL在SQL中没有循环,仅在Procdures中
0赞 nbk 3/6/2023
经过一番思考,您应该在具有游标和动态 SQL 的过程中执行此操作
0赞 P.Salmon 3/6/2023
可能是重复的 - 你试过搜索吗..
0赞 hudossan 3/6/2023
是的,我确实尝试搜索它,但是我找不到任何东西。你能给我指点点什么吗?
2赞 jarlh 3/6/2023
你不能干脆代替吗?JOIN

答: 暂无答案