algorithm - 如何将从 SQL 获取的值附加到多个哈希值,然后比较它们

标签 algorithm perl mariadb hashtable

我想将从我的数据库中获取的值存储到散列中。然后,我想比较它们是否具有相同的 Material 。如果他们有相同的material,我想比较txt。如果 txt 不同,我想使用 storedisp。如果文本相同,我想使用 coursemat:

my $stmt1 = qq(select txt, price, material from coursemat);
my $sth1 = $pagev->runQ($stmt1); #run query in house function
my $stmt2 = qq(select material from storedisp);
my $sth2 = $pagev->runQ($stmt2);

while(my ($txt, $price, $material) = $sth->fetchrow_array) {
  %cmhash = (
    $material => {
      txt => $txt,
      price => $price,
    },
  );
}

while(my $txt = $sth->fetchrow) {
  %sdhash = (
    $material => {
      txt => $txt,
    },
  );
}

最佳答案

以下替换散列中的所有现有值:

%cmhash = (
  $material => {
    txt => $txt,
    price => $price,
  },
);

用以下代码替换上面的代码:

$cmhash{$material} = {
    txt => $txt,
    price => $price,
};

这假设 $material 的值是唯一的。

关于algorithm - 如何将从 SQL 获取的值附加到多个哈希值,然后比较它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48268304/

相关文章:

image - 是否有一种算法可以确定是否可以在屏幕上显示一个或两个图像? (单页与双页)

c# - 使用Kinect [Algo]检测跳跃手势

algorithm - 2 = 西塔 (1 + 1/n)^n ;为什么 e 是常数 theta?

javascript - 使用 MySql 和 Websocket 协议(protocol)在 Perl 中创建一个小时

perl - 模块安装成功但找不到

MySql 仅导出架构而不导出数据

algorithm - 谁欠谁钱优化

perl - 如何使用 PDF 基元绘制实心和非实心圆?

mysql - 无法查看 docker 容器内的表

mysql - 在 MariaDB 中使用 REGEXP_REPLACE 进行正则表达式查找和替换的正确语法是什么?