On Thu, Sep 29, 2016 at 2:37 PM, James K. Lowden <jklow...@schemamania.org>
wrote:

> On Fri, 23 Sep 2016 16:35:07 +0000
> Quan Yong Zhai <q...@msn.com> wrote:
>
> > Quote <<
> > A "row value" is an ordered list of two or more scalar values. In
> > other words, a "row value" is a vector.>>
> >
> > A ?row value? is a tuple, not a vector. When your using a tuple, you
> > know how many items in it, and the type of each item of it.
>
> That's correct, and addresses Dominique's point, albeit obliquely:
> to use a row-value as a list-argument to IN would be to confuse rows
> and columns.  A row-value has 1 or more columns, but only one row.
>
> It would be nice to use row-values correctly in IN:
>
>         select * from T where (a,b) IN ( (1, 'a'), (2, 'b') )
>
> Is that valid?
>

After reading http://modern-sql.com/use-case/select-without-from
and given
http://sqlite.org/draft/rowvalue.html#search_against_multi_column_keys
it seems to me that it should be, albeit with this tiny variation:

  select * from T where (a,b) IN ( values (1, 'a'), (2, 'b') )

But not tested yet. --DD
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to