sql - 如何把三段spl语句合并一起返回数据?

查看:121
本文介绍了sql - 如何把三段spl语句合并一起返回数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

请问如何把这三段组合在一起返回:

select count(*) from (
select
                                     a.amount as suixi_money,
                                     a.amodanaTime as suixi_tiem,
                                     a.registerMobile as principal_tel_number,
                                     b.type as activity_type,
                                     c.name as query_nickname,
                                     c.mobile as query_tel_number,
                                     c.realName as query_name
                               from tb_activity_record a
                                left join tb_activity b on a.activityId = b.id
                                left join tb_member c on a.memberId = c.id
                                
                              where 1=1
                                and b.uid = '8445e6a4-9341-455b-bfef-81e0b5ed7a1e'
                                and  (
                                c.name like '1%'
                                or c.realName like '1%'
                                or c.mobile like '1%'
                                 )
                                 ) aa
                                 
                                 
                                
                            select count(*) from (select distinct memberId from tb_activity_record ) ab
                            
                            select SUM(amount) from tb_activity_record

谢谢!

解决方案

select
    a.amount as suixi_money,
    a.amodanaTime as suixi_tiem,
    a.registerMobile as principal_tel_number,
    b.type as activity_type,
    c.`name` as query_nickname,
    c.mobile as query_tel_number,
    c.realName as query_name,
    amount.amount as allAmount,
    person.person as allPerson
from 
    tb_activity_record a
    left join tb_activity b on a.activityId = b.id
    left join tb_member c on a.memberId = c.id
    left join (SELECT SUM(amount) as amount,activityId FROM 
        `tb_activity_record` WHERE activityId = (SELECT id FROM tb_activity WHERE uid = '8445e6a4-9341-455b-bfef-81e0b5ed7a1e')) amount ON a.activityId = amount.activityId
    LEFT JOIN (select count(*) as person,activityId from 
        (select distinct(memberId),activityId from tb_activity_record WHERE activityId = (SELECT id FROM tb_activity WHERE uid = '8445e6a4-9341-455b-bfef-81e0b5ed7a1e')) ac) person ON a.activityId = person.activityId
where 
    b.uid = '8445e6a4-9341-455b-bfef-81e0b5ed7a1e'
    and (c.name like '1%' or c.realName like '1%'or c.mobile like '1%')

这个可以

这篇关于sql - 如何把三段spl语句合并一起返回数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆