2016-01-20 58 views
2

我有這樣的查詢:ORA-01427單行子查詢返回不止一行

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單行子查詢返回不止一行

但之前我只是有這樣的數據,我沒有任何錯誤。 此查詢沒有任何錯誤。

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; 

而結果是這樣的:

enter image description here

bbcust_cash_loan像這樣的stucture:

enter image description here

對於數據庫的結構是:bbcust_debitur_dev有關係,與BBCUST_SEKTOR_10_DEVbbcust_cashloan_dev

我想計算bbcust_cashloan_dev中的每個值,但我需要知道BBCUST_SEKTOR_10_DEV中的所有數據。這就是爲什麼我加入所有數據,所以我從bbcust_cashloan_dev得到總價值,其中數據在BBCUST_SEKTOR_10_DEV

你能告訴我如何解決我的查詢嗎?

+1

只需從您的子查詢中刪除group by子句即可。這裏不需要分組子句。 –

+0

@ Md.ShamimAlMamun你可以在回答問題上發帖,我會投你一票,謝謝。 – user3505775

回答

1

試試這個.......

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回報。如果不瞭解您的業務,就不可能提供建議。