locked
consulta sql: unión de 3 consultas RRS feed

  • Pregunta

  • Hola comunidad! tengo estas 3 consultas y las quiero dejar en 1

     

     

    select count(co1) from cccont1 a, ccasig1 b where 
    
    b.as1=a.co1 and b.as3=10 and (CO19='A')
    
    
    
    
    
    
    
    select count(re1) from CCCREV1 a, ccasig1 b where 
    
    b.as1=a.re1 and b.as3=10 and (re13='A')
    
    
    
    
    
    select count(cn1) from CCCNIC1 a, ccasig1 b where 
    
    b.as1=a.cn1 and b.as3=10 and (cn12='A')
    
    

     

     

    se iguala con el campo as1 de la tabla accig1 si alguien me pudiese ayudar

     

    Desde ya muchas Gracias!


    .::**~ No Use for A NamE ~**::.
    viernes, 14 de mayo de 2010 13:44

Respuestas


  • Seguro que tendras que agregarle un par de inner mas, y mas condiciones en el where pero esa
    la idea, tambien podrías usar el UNION. Del cual se habló en otro hilo esta semana.


    select
    count(a.co1), count(c.rel),count(.cnl) from cccont1 a, ccasig1 b
    inner join cccrev1 b on a.rel = b.asl
    inner join CCCNIC1 d on b.asl = d.asl
    where b.as3=10

    • Propuesto como respuesta Fabian Inchauspe viernes, 14 de mayo de 2010 14:24
    • Marcado como respuesta Pablokes viernes, 14 de mayo de 2010 14:35
    viernes, 14 de mayo de 2010 14:24
  • Hola.

    ¿Qué tal con una consulta de unión?

    select Grupo = 'CO19_A', Recuento = count(co1) from cccont1 a, ccasig1 b where 
    b.as1=a.co1 and b.as3=10 and (CO19='A')
    union all
    select Grupo = 're13_A', Recuento = count(re1) from CCCREV1 a, ccasig1 b where 
    b.as1=a.re1 and b.as3=10 and (re13='A')
    union all
    select Grupo = 'cn12_A', Recuento = count(cn1) from CCCNIC1 a, ccasig1 b where 
    b.as1=a.cn1 and b.as3=10 and (cn12='A')

    Si no te vale, nos dices.

     


    Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)
    viernes, 14 de mayo de 2010 14:25
    Moderador

Todas las respuestas


  • Seguro que tendras que agregarle un par de inner mas, y mas condiciones en el where pero esa
    la idea, tambien podrías usar el UNION. Del cual se habló en otro hilo esta semana.


    select
    count(a.co1), count(c.rel),count(.cnl) from cccont1 a, ccasig1 b
    inner join cccrev1 b on a.rel = b.asl
    inner join CCCNIC1 d on b.asl = d.asl
    where b.as3=10

    • Propuesto como respuesta Fabian Inchauspe viernes, 14 de mayo de 2010 14:24
    • Marcado como respuesta Pablokes viernes, 14 de mayo de 2010 14:35
    viernes, 14 de mayo de 2010 14:24
  • Hola.

    ¿Qué tal con una consulta de unión?

    select Grupo = 'CO19_A', Recuento = count(co1) from cccont1 a, ccasig1 b where 
    b.as1=a.co1 and b.as3=10 and (CO19='A')
    union all
    select Grupo = 're13_A', Recuento = count(re1) from CCCREV1 a, ccasig1 b where 
    b.as1=a.re1 and b.as3=10 and (re13='A')
    union all
    select Grupo = 'cn12_A', Recuento = count(cn1) from CCCNIC1 a, ccasig1 b where 
    b.as1=a.cn1 and b.as3=10 and (cn12='A')

    Si no te vale, nos dices.

     


    Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)
    viernes, 14 de mayo de 2010 14:25
    Moderador
  • Muchas gracias, ambas sirven, pero me quedo con la union

     

     


    .::**~ No Use for A NamE ~**::.
    viernes, 14 de mayo de 2010 14:47