Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

LISTAGG Query ORA-00937:bukan fungsi grup grup tunggal

Saya pikir agar kueri Anda berfungsi, Anda perlu menambahkan group by , ubah order by . Anda juga harus menggunakan sintaks gabungan eksplisit yang tepat:

SELECT r.rule_id as RULE_ID, 
       LISTAGG(a.ATTRIBUTE_ID, ', ') WITHIN GROUP (ORDER BY a.ATTRIBUTE_ID) as "ATTR_IDS"
FROM N_RULE r JOIN
     N_ATTRIBUTE a 
     ON r.RULE_ID = a.RULE_ID 
GROUP BY r.rule_id
ORDER BY r.rule_id;

Atau, mungkin Anda ingin menyertakan atribut lain dalam hasil:

SELECT r.rule_id, r.AUDIENCE, UPPER(r.NAME) 
       LISTAGG(a.ATTRIBUTE_ID, ', ') WITHIN GROUP (ORDER BY a.ATTRIBUTE_ID) as "ATTR_IDS"
FROM N_RULE r JOIN
     N_ATTRIBUTE a 
     ON r.RULE_ID = a.RULE_ID 
GROUP BY r.rule_id, r.AUDIENCE, UPPER(r.NAME)
ORDER BY r.AUDIENCE, UPPER(r.NAME);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengecilkan tablespace temp di Oracle?

  2. koneksi database oracle di web.config asp.net

  3. Opsi Pengiriman saat Mengirimkan Permintaan Bersamaan Di R12.1.3

  4. Bagaimana cara mendapatkan Oracle SCHEMA sebagai skrip DDL dengan DBMS_METADATA (dan SCHEMA_EXPORT)

  5. Instal klien Oracle Instan ke dalam wadah Docker untuk Python cx_Oracle