Michael Hirohama wrote:
>
> [...]
> >SQL> select * from a where (x,z) >= ANY (select y, l from b);
> >select * from a where (x,z) >= ANY (select y, l from b)
> > *
> >ERROR at line 1:
> >ORA-00920: invalid relational operator
> >
> >: only '=' and '<>' are allowed if there are more than one
> >expression on the left side of clause with subselect...
> >
> >Is this in standard or Oracle' preference ?
>
> This is a mathematical law.
>
> Vectors cannot be strictly ordered. "Partial orderings" are possible.
>
> Let A be (1, 2)
> Let B be (4, 7)
> Let C be (3, 5)
> Let D be (5, 10)
>
> A is smallest; D is largest; how do B and C relate?
I understand this. And this is how it works currently:
select * from tab where (A,B) >= ANY (select X, Y from tab2);
means: select tuples where A >= X _and_ B >= Y for some tuple from tab2.
^^^^^
'AND' is used for all Op-s except for '<>' when 'OR' is used.
Question is "should we drop this feature (?) or leave it as is ?"
Comments ?
Vadim