2012-12-20 52 views
5

Tôi tự hỏi làm thế nào tôi có thể tạo câu lệnh chọn từ bảng có cột được nhập? Loại cột này được định nghĩa là:Oracle SQL: chọn từ bảng có bảng lồng nhau

create or replace TYPE "MYCOL" as table of MYTYPE; 
create or replace TYPE "MYTYPE" as OBJECT 
(myid Number, myname Varchar2); 

UPD1 Bảng được định nghĩa là

CREATE TABLE "T_TABLE" 
    ( "ID" NUMBER NOT NULL ENABLE, "NAME" "MYCOL") 

Nếu tôi chọn cột này với select * from T_TABLE tôi sẽ nhận được kết quả không nhiều thông tin này:

1, MYSCHEMA.MYCOL([MYSCHEMA.MYTYPE],[MYSCHEMA.MYTYPE]) 

Tôi muốn loại bỏ các loại này.

+0

và làm thế nào được bảng của bạn được xác định? –

+0

Màn hình hiển thị được xử lý bởi trình khách SQL. SQL * Plus sẽ hiển thị điều này, ví dụ: 'MYCOL (MYTYPE (1, 'somevalue'))' –

Trả lời

10

Hãy thử nó như thế này:

select t."ID", tt.myid, tt.myname 
from "T_TABLE" t, table(t."NAME") tt; 

Here is a sqlfiddle demo

+0

Nó hoạt động! cảm ơn! –

Các vấn đề liên quan