sql - 将选择放在变量子查询中返回多个值
问题描述
我想将以下查询放入变量中,但出现错误:
“子查询返回多个值”
select (select count(cb) from pater b where b.cb=a.parent) AS test_pater
from pater a
我想计算父值出现在 cb 列中的次数,并将结果放在每一行的 test_pater 列中
预期成绩:
解决方案
我不得不猜测你的表结构,但我认为这可能是你想要的?
http://sqlfiddle.com/#!9/fdc493/3
创建表结构
CREATE TABLE pater (cb int, parent int);
INSERT INTO pater VALUES
(1,0), -- root
(2,1), (3,1), -- parent 1 has 2 children
(4,3), (5,3); -- parent 3 has 2 children
您的查询
SELECT cb, (SELECT count(cb) FROM pater b WHERE b.parent = a.cb) as test_pater FROM pater a;
结果
| cb | test_pater |
|----|------------|
| 1 | 2 |
| 2 | 0 |
| 3 | 2 |
| 4 | 0 |
| 5 | 0 |
推荐阅读
- kubernetes - 伞形图表中的 Helm requirements.yaml 条件范围
- android - onResume 在视图模型中不起作用
- javascript - 如何使用 javascript 中的位置查找单词或子字符串?
- python - 具有固定数量的元素和固定间隔的 Python 范围
- android - Android ACTION_SEND (MULTIPLE) Intent 不会将文件发送到 Google Drive
- java - okHttp3 JVM 崩溃
- python - 在python中查找并检查行
- javascript - 无法在反应本机应用程序中清除 setInterval
- java - 错误:无法从静态上下文中引用非静态方法 LetConnect() Connection conn= LetConnect();
- reactjs - 如何在减速器中返回一个数组?