RE: How to store query results in an array?
- From: anna@xxxxxxxxxxxx (Anna Fong)
- Date: Wed, 25 May 2005 12:52:45 -0700
Daniel,
Why not use a subquery? It'll be more efficient than using the array.
Something like "SELECT * FROM ... WHERE ... IN (SELECT ...)";
HTH,
Anna
-----Original Message-----
From: ricardd@xxxxxxxxxxxxxxx [mailto:ricardd@xxxxxxxxxxxxxxx]
Sent: Wednesday, May 25, 2005 11:40 AM
To: dbi-users@xxxxxxxx
Subject: How to store query results in an array?
Hello dbi-users,
I'm relatively new to Perl DBI so bear with me as this might be very
simple for the gurus.
I would like to use the results of a query as an input to another
query's WHERE ... IN clause. This is simple enough but I can't figure
out how to avoid extracting and formatting each row from the first query
results.
That is, how can I avoid doing something tedious like this:
# ***** BEGIN EXAMPLE ************
my $sql1 = qq{SELECT ....};
my $sth1 = $dbh->prepare($sql1);
$sth1->execute();
my @results;
while ( my @row1 = $sth1->fetchrow_array ) { push(@results, "\'" .
@row1[0] . "\'");
}
my $resultsformatted=join(",",@results);
my $sql2 = qq{SELECT * FROM ... WHERE ... IN ($resultsformatted)}; #
***** END EXAMPLE ************
I tried "selectall_arrayref" but it doesn't help me since there is a
reference to each item in the array.
I tried "dump_results" but the output contains an extra row that gives
the number of rows dumped, hence the results can't be used in the second
query.
What I really want is a "neat_list" but I can't figure out how to assign
the results of the first query to an array that I can then pass to
"neat_list".
Something similar is possible in R/Splus using ODBC, the results of a
query can assigned to a data frame without accessing each row. How can I
do the same using Perl DBI?
Thanks in advance.
Daniel Ricard
.
- Follow-Ups:
- RE: How to store query results in an array?
- From: ricardd
- RE: How to store query results in an array?
- Prev by Date: How to store query results in an array?
- Next by Date: RE: How to store query results in an array?
- Previous by thread: RE: How to store query results in an array?
- Next by thread: RE: How to store query results in an array?
- Index(es):
Relevant Pages
|