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将极大地提高它的长期价值,并将使它对未来有其他类似问题的读者更有用。请在您的回答中添加一些解释,包括您所做的假设。