Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle:Chọn phân biệt không hoạt động khi con trỏ bên trong con trỏ (sử dụng biểu thức con trỏ)

tôi nghĩ bạn cần đầu ra riêng biệt như dưới đây

<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <CONTACTS>
   <CONTACTS_ROW>
    <CONTACT_NAME>ALBERT EINSTEIN</CONTACT_NAME>
    <INVOICE_NUMBER>123456</INVOICE_NUMBER>
    <INVOICE_AMOUNT>10000</INVOICE_AMOUNT>
    <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
   </CONTACTS_ROW>
  </CONTACTS>
 </ROW>
</ROWSET>

đối với điều này không cần con trỏ thứ hai. bạn có thể đạt được như dưới đây

select dbms_xmlgen.getxml('
select 
cursor (
  select 
    distinct 
    ''ALBERT EINSTEIN'' CONTACT_NAME 
    , 123456 INVOICE_NUMBER, 10000 INVOICE_AMOUNT, ''EUR'' INVOICE_CURRENCY 
  from 
  ALL_VIEWS
  where view_name IN ( ''ALL_INDEXES'', ''ALL_TABLES'')
  ) AS CONTACTS
  from dual 
 ') from dual
;

kể từ distint là khác nhau trong dịp này. do đó không cần con trỏ phụ. đây distinct sẽ tự xóa tất cả các bản ghi trong truy vấn con.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-06531 sau khi nâng cấp Oracle

  2. Sự khác biệt giữa IAM, IDCS và OCI trong đám mây Oracle

  3. Giới thiệu về PL / SQL Thu thập hàng loạt trong Cơ sở dữ liệu Oracle

  4. Truy vấn SQL để nối các giá trị cột từ nhiều hàng trong Oracle

  5. Cách tốt nhất để tham gia bảng cha và con