我正在使用perl dbi并获取sql结果,但它是以数组形式出现的。问题是,它只返回1个数组元素。我试图推动获得下一个元素但没有任何东西。我确信(使用其他工具)我可以看到有超过一个值。它是(从其他工具)我得到多个ddls。根据我的查询,我只得到其中一个。这是我的疑问:
my $rows = $dbh->selectall_arrayref
("show SELECT * FROM TABLE
INNER JOIN TABLE1
ON bla bla ;");
my $len = @$rows;
print $len;
foreach $h (@$rows) {
$st = $h->[0];
$st =~ s/(\d),(\d)/\1|\2/g;
@lines = split/,/,$st;
foreach $x (@lines) {
print FH $x . "\n";
}
}
我的问题是如何移动相同的数组并从同一行获取下一个结果集?谢谢!
以上代码的结果如下:
我不认为它会带回整个内容,不知何故它不完整
答案 0 :(得分:0)
[这可能算作“不是答案”,但我正试图从OP中提取更多有用的信息,并且向他展示我希望他在答案中运行的代码要容易得多]
我们仍然不知道你在这里要做什么。而且,说实话,我不相信你这样做: - )
让我们看看原始数据 - 没有你要添加的任何处理。请尝试运行以下代码,然后edit your question添加输出(如果它返回多行,则只需要包含一对)。
my $rows = $dbh->selectall_arrayref
("show SELECT * FROM TABLE
INNER JOIN TABLE1
ON bla bla ;");
foreach my $row (@$rows) {
print join(' / ', @$row), "\n";
}
然后,请告诉我们(使用这些行作为示例)您想要的输出。