2015-10-24 7 views
2

Я ищу, чтобы возвращать только строки, содержащие определенную строку в их VARRAY.Вернуть строки, содержащие строку в коллекции

Таблица Определение:

create table studentClasses(
student_id INTEGER, 
full_name VARCHAR2(30), 
phone_nos varray_num, 
classes varray_class, 
subjects_registered nestedsubjecttable, 
home_address O_ADDRESS , 
next_of_kin VARCHAR2(30), 
nok_address O_ADDRESS 
)nested table subjects_registered store as ext_classes; 

Часть моих вставок

insert into studentClasses values(1, 'John Doe', 
           varray_num('1', '2', '3', '4', '5', '6'), 
           .... 

Я хочу, чтобы иметь возможность вернуть все записи, которые содержат определенное количество в их phone_nos VARRAY. Так возвратите людей с «6» в их разновидности.

Любые идеи?

ответ

1

Попробуйте

Select student_id ,full_name 
From studentClasses t1, 
Table(t1.phone_nos) t2 
Where Column_Value = 6; 

Надеется, что это помогает.

Ссылка: Day 57: PL/SQL - 5 (VArray in Pl/SQL)

нотабене ~ У меня нет условий, чтобы проверить, но он должен работать