Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql从不同的表中计算两个对应的行_Mysql - Fatal编程技术网

mysql从不同的表中计算两个对应的行

mysql从不同的表中计算两个对应的行,mysql,Mysql,我有两张桌子,一张桌子上的送货数量取决于一周中的哪一天。像这样: stores store-n | mon | tue store 1 | 0 | 2 store 2 | 1 | 1 quantum store-n | p1 | p2 | store 1 | 20 | 15 | store 2 | 5 | 8 | 其中显示了一个交付的产品包含了多少。像这样: stores store-n | mon | tue store 1 | 0 | 2 store 2 | 1 |

我有两张桌子,一张桌子上的送货数量取决于一周中的哪一天。像这样:

stores
store-n | mon | tue
store 1 | 0   | 2
store 2 | 1   | 1
quantum
store-n | p1 | p2 |
store 1 | 20 | 15 |
store 2 | 5  | 8  |
其中显示了一个交付的产品包含了多少。像这样:

stores
store-n | mon | tue
store 1 | 0   | 2
store 2 | 1   | 1
quantum
store-n | p1 | p2 |
store 1 | 20 | 15 |
store 2 | 5  | 8  |
我需要显示在特定的一天内,每个商店必须交付多少单个产品。
像这样:

Count of p1 on monday:
store-n | p1*mon |
store 1 | 0      |
store 2 | 5      |

Count of p2 on tuesday:
store-n | p2*tue |
store 1 | 30     |
store 2 | 8      |
因此,产品数量乘以每个商店的送货数量。 我尝试了以下查询:
从quantum、stores中选择stores.store-n(quantum.p1*stores.mon)

但它似乎是将一个表的第一行乘以另一个表的每一行,然后再乘以下一行,以此类推。正确的方法是什么?

最后,我还需要结果列的总和。

您的查询缺少连接条件,这导致两个表之间的交叉连接。我们可以尝试更正原始查询,但最好使用显式联接编写:

SELECT
    s.`store-n`,
    q.p1 * s.mon AS p1_cnt,
    q.p2 * s.tue AS p2_cnt
FROM stores s
INNER JOIN quantum q
    ON s.`store-n` = q.`store-n`;

查询缺少联接条件,这将导致两个表之间的交叉联接。我们可以尝试更正原始查询,但最好使用显式联接编写:

SELECT
    s.`store-n`,
    q.p1 * s.mon AS p1_cnt,
    q.p2 * s.tue AS p2_cnt
FROM stores s
INNER JOIN quantum q
    ON s.`store-n` = q.`store-n`;

感谢您提供这段代码片段,它可能会提供一些有限的、即时的帮助。通过展示为什么这是一个很好的问题解决方案,A将极大地提高它的长期价值,并将使它对未来有其他类似问题的读者更有用。请在您的答案中添加一些解释,包括您所做的假设。感谢您提供此代码片段,它可能会提供一些有限的、即时的帮助。通过展示为什么这是一个很好的问题解决方案,A将极大地提高它的长期价值,并将使它对未来有其他类似问题的读者更有用。请在您的回答中添加一些解释,包括您所做的假设。