If this is in PHP, just use implode to create the string. The there is no need 
to strip trailing commas and no loops.
$instring    = implode('","', $a);

As for the query, where are you getting your "1000" values from? You can do joins on queries if your values are the result of a some complex query.


----- Original Message ----- From: "Jerry Schwartz" <[EMAIL PROTECTED]>
To: "'VenuGopal Papasani'" <[EMAIL PROTECTED]>; "'ViSolve DB Team'" <[EMAIL 
PROTECTED]>
Cc: <mysql@lists.mysql.com>; "'bharath kumar'" <[EMAIL PROTECTED]>
Sent: Monday, January 08, 2007 9:38 AM
Subject: RE: How to access an array variables in a single query


Within the limits of an overall query, the IN clause can be arbitrarily
long. You'll use a loop in your program to construct a string such as
$instring .= "'$a[$i]',"
and then remove the unneeded trailing comma.

Our code here does that with very large lists that are the result of a
query. I don't like it, because it might fail mysteriously if the query gets
too long, but I inherited it and haven't thought of a good way to rewrite
it.

Regards,

Jerry Schwartz
Global Information Incorporated
195 Farmington Ave.
Farmington, CT 06032

860.674.8796 / FAX: 860.674.8341


-----Original Message-----
From: VenuGopal Papasani [mailto:[EMAIL PROTECTED]
Sent: Saturday, January 06, 2007 4:22 AM
To: ViSolve DB Team
Cc: mysql@lists.mysql.com; bharath kumar
Subject: Re: How to access an array variables in a single query

but that is not static for 3 variables what if array contains
1000 elements
in cannot be used in such cases

Thanks and Regards,
venu

On 1/6/07, ViSolve DB Team <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> IN operator will do.
>
> For Instance.
>
> SELECT * FROM TABLE1 WHERE id IN ('i1','i2','i3');
>
>
> Thanks
> ViSolve DB Team.
>
> ----- Original Message -----
> From: "VenuGopal Papasani" <[EMAIL PROTECTED]>
> To: <mysql@lists.mysql.com>
> Cc: "bharath kumar" <[EMAIL PROTECTED]>
> Sent: Saturday, January 06, 2007 2:07 PM
> Subject: How to access an array variables in a single query
>
>
> > Dear all,
> >   I have got an array variable say a[]={"i1","i2",i3""}
now i need to
> get
> > the values from the database that matches i1,i2,i3 for example
> >
> >                         select * from tablename where i1=a[1]  and
> > simillaryly to a[2] and a[3] but my list is too big one
more option i
> can
> > write it through loop but it takes time.Is there any
possibility of
> > writing
> > a single query to retrieve all that data.
> >
> >           Awaiting your reply
> >
> > Thanks and Regards,
> > venu
> >
> > --
> > ????????????,
> > ??????????  ???????.
> >
>
>


--
????????????,
??????????  ???????.





--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to