ORA-01427 单行子查询 returns 多于一行
ORA-01427 single-row subquery returns more than one row
我有这样的查询:
select bb10.ID_SEKTOR_10 as kode,
bb10.NAME_SEKTOR_10 as sektor10,
(
select count(*) as HUBBNI_SEKTOR_EKONOMI10
from bbcust_debitur_dev
where HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and STATUS = 2
group by HUBBNI_SEKTOR_EKONOMI10
) as total_sek_10,
(
select sum( distinct bbcd.baki_debet) as baki_debet
from bbcust_cashloan_dev bbcd, bbcust_debitur_dev bdd
where bbcd.row_id = bdd.row_id
and bdd.HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and bbcd.status =1 and bdd.status=2
group by bdd.row_id
) as total_rek_10
from BBCUST_SEKTOR_10_DEV bb10;
我收到一个错误
ORA-01427 single-row subquery returns more than one row
但在我只有这样的数据之前,我没有任何错误。
此查询没有任何错误。
select bb10.ID_SEKTOR_10 as kode,
bb10.NAME_SEKTOR_10 as sektor10,
(
select count(*) as HUBBNI_SEKTOR_EKONOMI10
from bbcust_debitur_dev
where HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and STATUS = 2
group by HUBBNI_SEKTOR_EKONOMI10
) as total_sek_10
from BBCUST_SEKTOR_10_DEV bb10;
结果是这样的:
bbcust_cash_loan的结构是这样的:
因为数据库的结构是:bbcust_debitur_dev
与 BBCUST_SEKTOR_10_DEV
和 bbcust_cashloan_dev
有关系。
我想计算 bbcust_cashloan_dev
中的每个值,但我需要知道 BBCUST_SEKTOR_10_DEV
中的所有数据。这就是为什么我加入所有数据,所以我从 bbcust_cashloan_dev
中获得总价值,其中数据在 BBCUST_SEKTOR_10_DEV
.
你能告诉我如何解决我的查询吗?
试试这个......
select bb10.ID_SEKTOR_10 as kode,
bb10.NAME_SEKTOR_10 as sektor10,
(
select count(*) as HUBBNI_SEKTOR_EKONOMI10
from bbcust_debitur_dev
where HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and STATUS = 2
) as total_sek_10,
(
select sum( distinct bbcd.baki_debet) as baki_debet
from bbcust_cashloan_dev bbcd, bbcust_debitur_dev bdd
where bbcd.row_id = bdd.row_id
and bdd.HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and bbcd.status =1 and bdd.status=2
) as total_rek_10
from BBCUST_SEKTOR_10_DEV bb10;
有可能 group by bdd.row_id
returns 不止一行。不了解您的业务,无法提供建议。
我有这样的查询:
select bb10.ID_SEKTOR_10 as kode,
bb10.NAME_SEKTOR_10 as sektor10,
(
select count(*) as HUBBNI_SEKTOR_EKONOMI10
from bbcust_debitur_dev
where HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and STATUS = 2
group by HUBBNI_SEKTOR_EKONOMI10
) as total_sek_10,
(
select sum( distinct bbcd.baki_debet) as baki_debet
from bbcust_cashloan_dev bbcd, bbcust_debitur_dev bdd
where bbcd.row_id = bdd.row_id
and bdd.HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and bbcd.status =1 and bdd.status=2
group by bdd.row_id
) as total_rek_10
from BBCUST_SEKTOR_10_DEV bb10;
我收到一个错误
ORA-01427 single-row subquery returns more than one row
但在我只有这样的数据之前,我没有任何错误。 此查询没有任何错误。
select bb10.ID_SEKTOR_10 as kode,
bb10.NAME_SEKTOR_10 as sektor10,
(
select count(*) as HUBBNI_SEKTOR_EKONOMI10
from bbcust_debitur_dev
where HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and STATUS = 2
group by HUBBNI_SEKTOR_EKONOMI10
) as total_sek_10
from BBCUST_SEKTOR_10_DEV bb10;
结果是这样的:
bbcust_cash_loan的结构是这样的:
因为数据库的结构是:bbcust_debitur_dev
与 BBCUST_SEKTOR_10_DEV
和 bbcust_cashloan_dev
有关系。
我想计算 bbcust_cashloan_dev
中的每个值,但我需要知道 BBCUST_SEKTOR_10_DEV
中的所有数据。这就是为什么我加入所有数据,所以我从 bbcust_cashloan_dev
中获得总价值,其中数据在 BBCUST_SEKTOR_10_DEV
.
你能告诉我如何解决我的查询吗?
试试这个......
select bb10.ID_SEKTOR_10 as kode,
bb10.NAME_SEKTOR_10 as sektor10,
(
select count(*) as HUBBNI_SEKTOR_EKONOMI10
from bbcust_debitur_dev
where HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and STATUS = 2
) as total_sek_10,
(
select sum( distinct bbcd.baki_debet) as baki_debet
from bbcust_cashloan_dev bbcd, bbcust_debitur_dev bdd
where bbcd.row_id = bdd.row_id
and bdd.HUBBNI_SEKTOR_EKONOMI10 = bb10.ID_SEKTOR_10
and bbcd.status =1 and bdd.status=2
) as total_rek_10
from BBCUST_SEKTOR_10_DEV bb10;
有可能 group by bdd.row_id
returns 不止一行。不了解您的业务,无法提供建议。