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

Cách thực hiện tách và tham gia trái trong oracle

Hãy thử:

SELECT cu.ID , cu.ADI_NUMARASI , co.ID , co.VALUE
FROM 
(
  SELECT id,ADI_NUMARASI,TYPEIDS,DOMAINID,
  regexp_substr(TYPEIDS,'[^,]+', 1, level) typeidsnew 
  FROM Customer 
  GROUP BY id,ADI_NUMARASI,TYPEIDS,DOMAINID,
  regexp_substr(TYPEIDS, '[^,]+', 1, level)
  connect by regexp_substr(TYPEIDS, '[^,]+', 1, level) is not null
) cu 
LEFT JOIN Code co ON cu.typeidsnew = co.ID
AND cu.DomainId = co.domainId 
ORDER BY cu.ID,co.ID

Đầu ra: http://sqlfiddle.com/#!4/177e8/1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách bật tính năng theo dõi trong ứng dụng oracle r12

  2. Chỉ mục Oracle 11 chỉ cho một phần dữ liệu

  3. Đã trả lại Con trỏ của tôi trong hàm PL / SLQ oracle của tôi nhưng không phải tất cả các hàng đều được trả về. Bạn có thể chỉ trả về 1 hàng trong một hàm Oracle pl / sql không?

  4. Làm cách nào để mở một thủ tục đã lưu trữ và chỉnh sửa nó trong SQL * Plus

  5. PL / SQL ORA-01422:tìm nạp chính xác trả về nhiều hơn số hàng được yêu cầu