none
ayuda con consulta y subconsulta RRS feed

  • Pregunta

  • buenas dias tengo que sacar el nif de un pedido la cosa es que un pedido puede tener mas de nif  digamos   que el pedido 4000 tiene 3 nif    lo que quiero sacar solo el primer nif 

    como pueden ver mi consulta  para sacar el nif necesito el idlinea que esta relacionado con  otra tabla  y despues la tabla del nif es tblinea_pedido -> tb_informado_ pedido  -> tbinformado  todo esto el resto de campos de la consulta lo que quiero sacar solo el primero pero no me deja con la consulta que hecho  me sale ese error si alguien me puede ayudar 

    Msg 116, Level 16, State 1, Line 33
    Sólo se puede especificar una expresión en la lista de selección cuando la subconsulta no se especifica con EXISTS.

    select   l.idlinea,l.id_pedido_www as idweb ,ar.descripcion as concepto, count ( inf.nif) as num_cif,
    									(select top 1 inf.nombre ,inf.nif
    									from  tb_informado_pedido inp
    									join tbinformado inf on (inp.idinformado=inf.idinformado)
    									where inp.idlinea=l.idlinea)
    									,lf.imp_precio as importe_sin_iva,c.descripcion as iva
                                        ,lf.imp_total as importe_con_iva,f.num_factura as n_factura,
                                        f.ffactura as fecha_factura,lf.referencia as N_prestamo,cl.nombre as pedido_por,ct.nombre as pedidopor
                                        from tblinea_pedido l
                                        join tblinea_factura lf on (idlinea_pedido=l.idlinea)
                                        join tbcodigo c on (c.valor=lf.cod_iva)
                                        join tbfactura f on(f.idfactura=lf.idfactura)
                                        join tbpedido p on (p.idpedido=l.idpedido)
                                        join tbcliente cl on (p.idcliente=cl.idcliente)
    									join tbcontacto ct on (p.idcontacto=ct.idcontacto)
    									join tbarticulo ar on (l.idarticulo=ar.idarticulo)
    									join tb_informado_pedido inp on (inp.idlinea=l.idlinea)
    									join tbinformado inf on (inf.idinformado=inp.idinformado)
                                         where lf.idfactura=307429  and c.codigo='cod_iva'                                   
    									group by l.idlinea,l.id_pedido_www ,ar.descripcion ,lf.imp_precio ,c.descripcion 
                                        ,lf.imp_total,f.num_factura,
                                        f.ffactura ,lf.referencia,cl.nombre,ct.nombre 									
    									order by l.id_pedido_www

    miércoles, 14 de septiembre de 2016 8:15

Respuestas

  • select   l.idlinea,l.id_pedido_www as idweb ,ar.descripcion as concepto, count ( inf.nif) as num_cif,
    									(select top 1 inf.nombre 
    									from  tb_informado_pedido inp
    									join tbinformado inf on (inp.idinformado=inf.idinformado)
    									where inp.idlinea=l.idlinea) as nombre ,(select top 1 inf.nif
    									from  tb_informado_pedido inp
    									join tbinformado inf on (inp.idinformado=inf.idinformado)
    									where inp.idlinea=l.idlinea) as nif
    									,lf.imp_precio as importe_sin_iva,c.descripcion as iva
                                        ,lf.imp_total as importe_con_iva,f.num_factura as n_factura,
                                        f.ffactura as fecha_factura,lf.referencia as N_prestamo,cl.nombre as pedido_por,ct.nombre as pedidopor
                                        from tblinea_pedido l
                                        join tblinea_factura lf on (idlinea_pedido=l.idlinea)
                                        join tbcodigo c on (c.valor=lf.cod_iva)
                                        join tbfactura f on(f.idfactura=lf.idfactura)
                                        join tbpedido p on (p.idpedido=l.idpedido)
                                        join tbcliente cl on (p.idcliente=cl.idcliente)
    									join tbcontacto ct on (p.idcontacto=ct.idcontacto)
    									join tbarticulo ar on (l.idarticulo=ar.idarticulo)
    									join tb_informado_pedido inp on (inp.idlinea=l.idlinea)
    									join tbinformado inf on (inf.idinformado=inp.idinformado)
                                         where lf.idfactura=307429  and c.codigo='cod_iva'                                   
    									group by l.idlinea,l.id_pedido_www ,ar.descripcion ,lf.imp_precio ,c.descripcion 
                                        ,lf.imp_total,f.num_factura,
                                        f.ffactura ,lf.referencia,cl.nombre,ct.nombre 									
    									order by l.id_pedido_www

    • Marcado como respuesta carlos carpio2 miércoles, 14 de septiembre de 2016 10:06
    miércoles, 14 de septiembre de 2016 10:06