【问题标题】:I want to sum same column in 4 different tables mysql我想在 4 个不同的表 mysql 中对同一列求和
【发布时间】:2015-02-12 10:39:59
【问题描述】:

我有 4 个不同列的表。但是在 4 个表中,我有两个公共列。一个 Vendor_id 和 Stock.This Vendor_id 可以在所有 4 个表中重复。 现在的要求是我想在所有 4 个表中汇总与所有供应商 ID 相关的所有库存。例如:

表一

+----------+-------------+
|vendor_id | stoclk      | 
+----------+-------------+
| 1234    | 75.00        | 
+----------+-------------+
| 1234    | 75.00        | 
+----------+-------------+
| 789      | 75.00       | 
+----------+-------------+

表二

+----------+-------------+
|vendor_id | stoclk      | 
+----------+-------------+
| 1234     | 5.00        | 
+----------+-------------+
| 2389     | 15.00       | 
+----------+-------------+
| 789      | 15.00       | 
+----------+-------------+

我想要的输出将是

+----------+-------------+
|vendor_id | stoclk      | 
+----------+-------------+
| 1234     | 155.00      | 
+----------+-------------+
| 2389     | 15.00       | 
+----------+-------------+
| 789      | 90.00       | 
+----------+-------------+  

为此,我使用了以下查询。

选择 vendor_id,SUM(stock) FROM ( 从 hs_tab1 中选择 vendor_id、库存 联合所有 从 hs_tab2 中选择 vendor_id、库存 联合所有 )一个

但我只得到一个供应商 ID 和总数或这样的库存

+------------+-------------+ |vendor_id |股票 | +------------+-------------+ |第1234章260.00 | +------------+-------------+

请告诉我哪里做错了?

【问题讨论】:

  • 我不确定,但可能group by 会帮助你。试一试
  • 为什么是这四个单独的表?对我来说,这听起来像是糟糕的数据库设计。
  • 你使用聚合函数 'sum' 没有 'group' 运算符,这是不正确的。

标签: mysql join sum union


【解决方案1】:

试试这个:-

SELECT vendor_id,SUM(stock) 
FROM ( SELECT vendor_id, stock FROM hs_tab1
       UNION ALL
       SELECT vendor_id, stock FROM hs_tab2
     )a
GROUP BY vendor_id;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-20
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 2015-06-23
    • 2023-03-23
    • 2015-04-13
    相关资源
    最近更新 更多