11 my $sd_condition= sub {
13 my $islandid= $islandids[$ix];
14 if (defined $islandid) {
15 return "${bs}_islands.islandid = $islandid";
17 push @query_params, $archipelagoes[$ix];
18 return "${bs}_islands.archipelago = ?";
22 foreach my $src_i (0..$#islandids) {
23 my $src_cond= $sd_condition->('sell',$src_i);
25 foreach my $dst_i ($src_i..$#islandids) {
26 push @dst_conds, $sd_condition->('buy',$dst_i);
28 push @flow_conds, "$src_cond AND (
35 SELECT commods.commodname commodname,
36 commods.commodid commodid,
37 commods.unitmass mass,
38 commods.unitvolume volume,
39 sell_islands.islandid org_id,
40 sell_islands.islandname org_name,
42 sum(sell.qty) org_qty,
43 buy_islands.islandid dst_id,
44 buy_islands.islandname dst_name,
48 JOIN buy on commods.commodid = buy.commodid
49 JOIN sell on commods.commodid = sell.commodid
50 JOIN islands as sell_islands on sell.islandid = sell_islands.islandid
51 JOIN islands as buy_islands on buy.islandid = buy_islands.islandid
56 AND buy.price > sell.price
57 GROUP BY commodname, commods.commodid,
58 org_id, org_price, dst_id, dst_price
61 my $sth= $dbh->prepare($stmt);
62 $sth->execute(@query_params);
67 <% join(' | ',@query_params) |h %>
70 <& dumpqueryresults, sth =>$sth &>