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

Oracle SQL tạo các cấp dữ liệu khác nhau từ một bảng duy nhất

Bạn có thể sử dụng CTE đệ quy:

WITH CTE(ITEM_VALUE, ITEM_ABOVE, DESCRIPTION, ITEM_GROUP) AS 
(
   SELECT ITEM_VALUE, ITEM_ABOVE, DESCRIPTION, DESCRIPTION AS ITEM_GROUP
   FROM mytable
   WHERE ITEM_ABOVE = 'CAR'

   UNION ALL

   SELECT t1.ITEM_VALUE, t1.ITEM_ABOVE, t1.DESCRIPTION, t2.ITEM_GROUP
   FROM mytable t1
   JOIN CTE t2 ON t1.ITEM_ABOVE = t2.ITEM_VALUE
)
SELECT ITEM_VALUE, ITEM_ABOVE, DESCRIPTION, ITEM_GROUP
FROM CTE 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 5 cách cập nhật dữ liệu bằng truy vấn con trong Oracle SQL

  2. ORA-22288:tệp hoặc thao tác LOB FILEOPEN không thành công. Tên tệp, tên thư mục không chính xác

  3. Cho phép người dùng chọn từ một bảng

  4. Điều chỉnh hiệu suất câu lệnh DECODE () trong mệnh đề WHERE

  5. APEX:Tải xuống BLOB từ bảng tạm thời