大家好,
这是我第一次发帖,我现在一直在寻找asnwer,而且我有点饿死了。
我在mysql中有一个看起来像这样的表
function returnSecondOptionGeneric2<TMorph, T1, T2> (morph: TMorph & Morph<T1, T2>): T2 {
return morph.secondOption;
}
我想要做的是能够随意选择任何包裹,总计总数,并查看需要多少库存。
实施例
星期六有3x套餐1和1x套餐3
所以我总共需要10个扬声器和5个麦克风
这是我在php文件中的当前代码
Package | Speakers | Microphone
1 | 2 | 1
2 | 2 | 1
3 | 4 | 2
如何在同一行中多次选择以便正确汇总
答案 0 :(得分:0)
将乘法与CASE
表达式一起使用。
SELECT SUM(speaker *
CASE Package
WHEN 1 THEN 3
WHEN 3 THEN 1
END) AS Speaker,
SUM(microphone *
CASE Package
WHEN 1 THEN 3
WHEN 3 THEN 1
END) AS Microphone
FROM yourTable
WHERE Package IN (1, 3)
您可以使用返回数量的子查询来代替重复CASE
表达式。
SELECT SUM(t.speaker * q.quantity) AS Speaker, SUM(t.microphone * q.quantity) AS Microphone
FROM yourTable AS t
JOIN (SELECT 1 AS package, 3 AS quantity
UNION
SELECT 3 AS package, 1 AS quantity) AS q
ON t.package = q.package
WHERE t.package IN (1, 3)
如果您在PHP中动态构建查询,这应该更容易使用。