Warum meine folgende Subroutine wirft eine jede abgeleitete Tabelle muss einen eigenen Alias-Fehler haben?Jede abgeleitete Tabelle muss ihren eigenen Alias Fehler haben?
sub ok_wait
{
my $str= shift;
$DBH = &connect or die "Cannot connect to the sql server \n";
$DBH->do("USE $str;");
my $stmt="select name,jobs_ok,jobs_wait from (select name,jobs_ok,jobs_wait from files order by name limit 5) t union all select 'others',sum(jobs_wait)as jobs_wait,sum(jobs_ok)as jobs_ok from(select jobs_wait,jobs_ok from files order by name limit -1 offset 5) t;";
my $sth = $DBH->prepare($stmt);
$sth->execute() or die $sth->errstr;
my $tmp = 0;
while(my @row_array=$sth->fetchrow_array)
{
if ($tmp == 0) {
$var_ok .= "\[\"$row_array[0] \($row_array[2]\)\",$row_array[2]\]";
$var_wait .= "\[\"$row_array[0] \($row_array[1]\)\",$row_array[1]\]";
$tmp++;
}
$sth->finish;
$DBH->disconnect();
}
vielleicht, weil Sie abgeleitete Tabellen ohne Alias haben? – billynoah
Die obigen Änderungen zeigen Syntaxfehler @ billynoah – SRVVANI
Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das zu Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe 'von entspricht (wählen Sie jobs_wait, jobs_ok aus Dateien nach Namen sortieren Grenze -1' @billynoah – SRVVANI