Thank you, Jeremy.

I've built a function that returns a string from (cd_teacher, cd_course) and i've create a functional index over this function, like :

create index teacher_course_idx on teacher_course (build_unique_2p(cd_teacher,cd_course));
select * from teacher_course where build_unique_2p(cd_teacher,cd_course) in ('1:2','23:11','563','341');


Is it possible to use "array cast" over cd_teacher and cd_course (just an idea, i don't known the sintaxe), like:

select * from teachar_course where cast((cd_teacher,cd_course) as array) in ('{1,2}','{23,11}','{563,341}');

?

I'm using postgreSQL 7.34

Thanks !!!

Jeremy Semeiks wrote:

You could use a subselect of unions:

select * from teacher_course where (cd_course, cd_teacher) in
(select 1, 2 union select 23, 11 union select 563, 341)

Maybe there's a more concise way, though.

- Jeremy






---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match

Reply via email to