Dear Pak Hery, mau coba bantu menjelaskan :)
UPDATE TEMP_SELLOUT_ MP_HY SET ID = (SELECT ID FROM REF_TOKO WHERE NAMA IN ( SELECT NAMA_TOKO FROM TEMP_SELLOUT_ MP_HY WHERE KOTA = 'YOGYAKARTA6' AND NAMA_MALL = 'RAMAIMALL' ) ) WHERE KOTA = 'YOGYAKARTA6' AND NAMA_MALL = 'RAMAIMALL' kenapa query itu kalau dijalankan akan keluar error seperti ini Error at line 1 ORA-01427: single-row subquery returns more than one row hal itu dikarenakan query yang saya bold dan warnai biru diatas. jika query yang warna itu dijalankan sendiri ada kemungkinan bisa mengembalikan lebih dari satu nama_toko. Lalu bapak mengambil ID dari REF_TOKO yang mana berasal dari subquery yang kemungkinan memberikan hasil balik/ return lebih dari satu nilai, bisa jadi ID nya return multiple value. Efek nya di query yang warna hijau, bapak mau update TEMP_SELLOUT_MP_HY dengan single nilai ID menggunakan operand ''='' (yang arti nya hanya memiliki 1 nilai). tetapi query itu akan return error karena nilai yang diharapkan single ternyata multiple karena subquery dibawahnya return multiple value. solusi: ubah subquery sehingga hanya menghasilkan return single value CMIIW. Regards, Febry Kurniawan ________________________________ From: Subekti Pranoto <[email protected]> To: [email protected] Sent: Wed, March 10, 2010 5:05:30 PM Subject: Re: [indo-oracle] single rows sub query return more than rows mungkin hasil query ini bisa membantu. select ID, KOTA, NAMA_MALL from TEMP_SELLOUT_ MP_HY where KOTA = 'YOGYAKARTA6' AND NAMA_MALL = 'RAMAIMALL' SELECT ID, NAMA FROM REF_TOKO WHERE NAMA IN (SELECT NAMA_TOKO FROM TEMP_SELLOUT_ MP_HY WHERE KOTA = 'YOGYAKARTA6' AND NAMA_MALL = 'RAMAIMALL') SELECT NAMA_TOKO FROM TEMP_SELLOUT_ MP_HY WHERE KOTA = 'YOGYAKARTA6' AND NAMA_MALL = 'RAMAIMALL' jika bapak paham output yang dihasilkan dari query itu, maka bapak akan menemukan jawaban pertanyaan bapak. semoga membantu. regard, subekti ----- Original Message ----- From: hery_777 To: indo-oracle@ yahoogroups. com Sent: Wednesday, March 10, 2010 4:54 PM Subject: [indo-oracle] single rows sub query return more than rows ini adalah code sql UPDATE TEMP_SELLOUT_ MP_HY SET ID = (SELECT ID FROM REF_TOKO WHERE NAMA IN(SELECT NAMA_TOKO FROM TEMP_SELLOUT_ MP_HY WHERE KOTA = 'YOGYAKARTA6' AND NAMA_MALL = 'RAMAIMALL') ) WHERE KOTA = 'YOGYAKARTA6' AND NAMA_MALL = 'RAMAIMALL' Error at line 1 ORA-01427: single-row subquery returns more than one row Apa yang salah ya.??? [Non-text portions of this message have been removed] [Non-text portions of this message have been removed]

