php - 我们可以合并两个查询,将结果返回为行

标签 php mysql codeigniter-3

这里我想获得两个表值的总和,我的表名称是datasabc_datas。首先,我获取了 datas 表的结果,如下 -

$query1 = $this->db->query("SELECT *, SUM(amount) AS total_sum
         FROM datas
         WHERE user_id = $user_id")->row();

接下来我获取了abc_datas的结果,如下-

$query2 = $this->db->query("SELECT *, SUM(amount) AS total_sum
         FROM abc_datas
         WHERE user_id = $user_id")->row();

现在我想组合这两个查询,并通过组合 total_sum 返回总计。例如,如果第一个表的 total_sum500,第二个表为 1000,我希望输出为 1500 但仅提取第一个查询值

这是我写的最后一个查询 -

$query = $this->db->query("SELECT *, SUM(amount) AS total_sum1
     FROM datas
     WHERE user_id = $user_id
     UNION ALL
     SELECT *, SUM(amount) AS total_sum2
     FROM abc_datas
     WHERE user_id = $user_id;")->row();
    return $query;

我像这样更改了查询以获得所需的输出 -

 $query =$this->db->query("SELECT
 (SELECT SUM(amount) as total_sum1 FROM datas WHERE    user_id=$user_id) + (SELECT SUM(amount) as total_sum2 FROM abc_datas WHERE user_id=$user_id) as total_sum,(SELECT SUM(agent_amount) as total_agent_amount1 FROM datas WHERE    user_id=$user_id) + (SELECT SUM(agent_amount) as total_agent_amount2 FROM abc_datas WHERE user_id=$user_id) as total_agent_amount,(SELECT SUM(profit) as total_profit1 FROM datas WHERE    user_id=$user_id) + (SELECT SUM(profit) as total_profit2 FROM abc_datas WHERE user_id=$user_id) as total_profit
 FROM dual");
 return $query->row();

最佳答案

这是结果

 $query = $this->db->query("SELECT SUM(amount) AS total_sum
        FROM   (SELECT   amount FROM datas WHERE    `user_id`=$user_id
                   UNION ALL
                SELECT amount FROM abc_datas WHERE    `user_id`=$user_id) s");
   return $query->row();

关于php - 我们可以合并两个查询,将结果返回为行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48518872/

相关文章:

php - Laravel Homestead Mongo 安装导致 PHP 错误 undefined symbol : php_json_serializable_ce in Unknown on line 0

php - 使用子键值对 PHP 数组进行排序

php - 将上传的照片保存在变量中

java - 在 Android 中为我的应用抛出 IllegalStateException

php - 对mysql中的连接表应用限制

mysql - 如何通过nodejs导入大量数据到mysql?

MySQL单个父子表中分层数据的乘法

php - 无法使用 codeigniter 查询计算有条件的结果

php - 如何在 Codeigniter 3 中上传时显示不允许的文件类型错误消息?

php - db codeigniter 的下拉值