SQL查询帮助:需要编写下面描述的问题
问题描述:
查询可以说我有表名为订单SQL查询帮助:需要编写下面描述的问题
id qty1 qty2 qty3
-----------------------------------
1 1 2 3
2 0 1 0
3 3 2 1
结果查询的应该是如下(注意数量的总和逐列的数量)
productID qty
----------------
1 4
2 5
3 4
请帮我查询吗?
答
它看起来像一个非常奇怪的桌子设计,你想要的结果更奇怪。但是,这应该这样做:
SELECT 1 AS productID, SUM(qty1) AS qty FROM Orders
UNION
SELECT 2 AS productID, SUM(qty2) AS qty FROM Orders
UNION
SELECT 3 AS productID, SUM(qty3) AS qty FROM Orders
,如果您指定SQL(PostgreSQL的,MySQL和甲骨文等)的服务器的类型比我也许能产生更整洁查询。
答
我希望这只是错字你不具备的ProductID在订单....
SELECT productID, (qty1 + qty2 + qty3) AS qty FROM Ordrers .....
答
SELECT qty1 + qty2 + qty3 FROM Orders GROUP BY id
答
select id as product_id, (qty1 + qty2 + qty3) as qty from orders;
答
用途:
SELECT o.productid,
COALESCE(SUM(o.qty1), 0) + COALESCE(SUM(o.qty2), 0) + COALESCE(SUM(o.qty3), 0) AS qty
FROM ORDERS o
GROUP BY o.productid
ORDER BY o.productid
假设一个数量#列的值可能为NULL,这要求隔绝您的查询返回NULL,因为某些数据库不喜欢将NULL(一个不存在的值的占位符)添加到一个有效的整数值。先测试后省略COALESCE
,或确认列不可空。
您的表格和查询结果之间没有明确的关系。你输入了正确的输出吗?此外,将其标记为家庭作业。 – 2011-03-21 01:47:27