Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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_Sql_Database - Fatal编程技术网

Mysql 在另一个表中列出的多个表中按公共列进行分组

Mysql 在另一个表中列出的多个表中按公共列进行分组,mysql,sql,database,Mysql,Sql,Database,我有一个具有以下结构的db。“我的机构”表中的每一行都有一个保存在单独表中的每日信息。我们需要的是如何查询db,以便在\u info表中获得按相应天数分组的每个机构信息表的价格列之和。我的数据库是MySQL 表机构: id | institution_name | institution_info_table_name ----------------------------------------------------- 1 | "A" | "A_info" --

我有一个具有以下结构的db。“我的机构”表中的每一行都有一个保存在单独表中的每日信息。我们需要的是如何查询db,以便在
\u info
表中获得按相应天数分组的每个机构信息表的价格列之和。我的数据库是MySQL

表机构:

id | institution_name | institution_info_table_name
-----------------------------------------------------
1  | "A"              | "A_info"
-----------------------------------------------------
2  | "B"              | "B_info"
A\u info

id | date       | price 
-----------------------
1  | 2013/02/12 | 12
-----------------------
2  | 2013/02/13 | 20
id | date       | price 
-----------------------
1  | 2013/02/12 | 30
-----------------------
2  | 2013/02/13 | 50
B_info

id | date       | price 
-----------------------
1  | 2013/02/12 | 12
-----------------------
2  | 2013/02/13 | 20
id | date       | price 
-----------------------
1  | 2013/02/12 | 30
-----------------------
2  | 2013/02/13 | 50
输出:

    date       | price 
    ------------------
    2013/02/12 | 42
    ------------------
    2013/02/13 | 70
编辑:

我尝试了以下查询,但无法正常工作:

"select sum( A_info.price) ,A_info.date from A_info,B_info group by date"

你试过这个基本的查询吗

select A_info.price+B_info.price from A_info, B_info where A_info.id=B_info.id and 
A_info.data=B_info.date;

这很简单,尽可能地尝试

select
x.date,
sum(x.price) as price
from
(
  (
    select 
    date,
    sum(price) as price
    from A_info
    group by date
  )
  union all
  (
    select
    date,
    sum(price) as price
    from B_info
    group by date
  )
)x
group by x.date

看起来像一个简单的查询。你试过什么吗?@RagingBull我更新了我的问题!谢谢你,伙计,这是一项伟大的工作,但我需要根据我的
institutions
表中的行动态创建此查询。你能更新你的查询吗?所以你可能在机构中有更多的值,比如C-C_信息,D-D_信息等等?是的,我有100个!如果“institution\u info\u table\u name”列是动态的,则不能在一条sql语句中执行此操作。它可以在两个sql语句中完成,首先您必须从“instutution=>institution\u info\u table\u name”(第一个查询)中提取表名并放入字符串,然后是主查询,该查询按日期对价格进行分组,并在from子句中包含make字符串。您需要规范化该表,如果必须这样做,我会将
机构
表设置为
(id,name,active=0,1)
另一个表将日期值存储为
机构信息
(id PK,id\u机构,date,price)
,这样使用JOIN和group by进行计算就很容易了。谢谢。但我需要按日期分组。