在MySQL中我有两个表:
Table MC:
----------------
|TransNo | Qty |
|--------|-----|
| xxx1 | 4 |
| xxx3 | 3 |
Run Code Online (Sandbox Code Playgroud)
和
Table Amex:
----------------
|TransNo | Qty |
|---------|-----|
| xxx1 | 2 |
| xxx5 | 1 |
Run Code Online (Sandbox Code Playgroud)
我需要将Qty表MC(方程式7)和表Amex(方程式3)中的列相加,得到总数量的结果.
当我做
SELECT (SUM(amex.Qty) + SUM(mc.Qty)) as total_qty from amex, mc
Run Code Online (Sandbox Code Playgroud)
我得到了笛卡尔积(20),但我需要的正确答案是10.我如何更改此查询以获得正确的结果?
我需要将数据库值与post值进行比较.如果发布值(十进制价格)在2美分阈值内,则考虑值相等.结果是具有"真实"差异的数组.数组是一致的:相同数量的值,相同的键.
$db_values = array( "21" => 10.00, "22" => 20.00, "25" => 3.55);
$post_values = array( "21" => 9.98, "22" => 20.01, "25" => 2.55 );
Run Code Online (Sandbox Code Playgroud)
我试图将绝对值与我的容差值进行比较 - epsilon(比较PHP中的小数)和array_udiff:
function epsilon_compare ($v1,$v2)
{
$epsilon = 0.02;
$diff = abs($v1 - $v2);
if ($diff <= $epsilon)
{
return 0;
//echo "numbers are equal";
} else {
return 1;
}
}
print_r(array_udiff($post_values, $db_values, "epsilon_compare"));
Run Code Online (Sandbox Code Playgroud)
给出正确的结果:数组([25] => 2.55)
但当我使用不同的数组时,我得到错误的结果,例如:
$db_values = array( "21" => 10.00, "22" => 20.00, "25" => …Run Code Online (Sandbox Code Playgroud) 我有两个关联数组。我需要减去 ($price - $tax) 以获得 $total price:
$price['lunch'] = array("food" => 10, "beer"=> 6, "wine" => 9);
$price['dinner'] = array("food" => 15, "beer"=> 10, "wine" => 10);
$tax['lunch'] = array("food" => 2, "beer"=> 3, "wine" => 2);
$tax['dinner'] = array("food" => 4, "beer"=> 6, "wine" => 4);
Run Code Online (Sandbox Code Playgroud)
所需的结果数组:
$result['lunch'] = (['food'] => 8, ['beer'] =>3, ['wine'] => 7 )
$result['dinner'] = (['food'] => 11, ['beer'] =>4, ['wine'] => 6 )
Run Code Online (Sandbox Code Playgroud)
我正在尝试以下函数和 array_map 无济于事:
function minus($a, $b) {
return $a - …Run Code Online (Sandbox Code Playgroud) 我有关联数组(动态 - 可能有更多的数组,但相同的键):
Array
(
[food] => Array
(
[0] => 3
[1] => 4
[2] => 1
)
[liquor] => Array
(
[0] => 4
[1] => 5
[2] => 0
)
[beer] => Array
(
[0] => 5
[1] => 6
[2] => 0
)
)
Run Code Online (Sandbox Code Playgroud)
我需要在每个数组上使用array_sum,结果将是:
Array ( [food] => 8, [liquor] => 9, [beer] => 11 )
Run Code Online (Sandbox Code Playgroud)
谢谢!