http://www.perlmonks.org?node_id=85657

Perl Newby has asked for the wisdom of the Perl Monks concerning the following question:

I am using dbi:odbc and I am trying to grab 11 rows out of my Data Base. I want these eleven rows to be newer than a certian DATE and TIME. But if there are 20 rows newer than the date and time I state, I want to get the oldest 11 rows, ordered by DATE and TIME. I have done this with ASP by using a TOP statement inside a nested select statement together (ordering the nested select asc and the outside select by desc), but I was unable to get this to work in my perl code. I was wondering if there is a way to grab 11 rows, the way I want to (without ordering them by DATE and TIME asc ), because there could be cases when there will be less than 11 rows returned.
use dbi; my $dbh, $sth; my ($sport, $import) = @_; my ($path) = "d:/text/time/" . $sport . ".txt"; open (text, "$path") or die "couldn't open!\n"; my (@text) = <text>; my $d = $text[0]; my $t = $text[1]; my $a = $text[2]; $dbh = DBI->connect("dbi:ODBC:burlee","spacecitysports","houston34") + or die die "Can't open connection\n"; $sth = $dbh->prepare("select * from DATA_DB_ENTRY__ASTROS_STAGING where TS_DATE >= '" . $d . "' and IMPORTACE = '" . $import . "' order by TS_DATE asc, TS_TIME asc "); $sth->execute();
this is an example of how I was able to get the info queried out but I can not use this if there is less than 11 rows returned.