Agrupar lineas duplicadas por ubicacion o lote
Publicado por Nacho (2 intervenciones) el 30/04/2018 09:43:19
Buenos días, como puedo agrupar líneas de la consulta que pongo a continuación para que cuando tengan diferentes lotes o ubicaciones salgan en una sola línea sumadas y no en varias líneas (cuando es el mismo código de artículo me refiero) gracias!!:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
SELECT Clientes.NomCli, Clientes.NifCli, Clientes.CodCli,
Clientes.DirCli1, Clientes.DtoCli, Clientes.PobCli,
Clientes.NomFiscal, Clientes.DirFiscal, Clientes.DtoFiscal,
Clientes.PobFiscal, Clientes.Generico, Clientes.TelCli,
PaisCli.NomPais NomPaisCli,
Provinci.NomProvi,
ProviFiscal.NomProvi NomProviFiscal,
Dirent.DirEnt1, Dirent.DtoEnt, Dirent.PobEnt, DirEnt.TelEnt1,
ProviEnt.NomProvi NomProviDirEnt,
PaisEnt.NomPais NomPaisDirEnt,
PaisFiscal.NomPais NomPaisFiscal,
Represen.NomRep,
RefCli.referencia,
Cabecera.TipoCont, Cabecera.Serie, Cabecera.NumDoc, Cabecera.Fecha,
Cabecera.TotIvaMoneda, Cabecera.TotRecMoneda, Cabecera.TotMoneda, Cabecera.TotIrpfMoneda,
Cabecera.RegIva, Cabecera.BaseMoneda BaseMonCab, Cabecera.TotAcuentaMoneda,
Cabecera.PorIva1, Cabecera.PorRec1, Cabecera.PorIrpf, Cabecera.SuplidosMon,
Cabecera.NomCli NomCliCabecera,
Cabecera.via + ' ' + Cabecera.DirCli + ', ' + Cabecera.nvia+ ' ' +
Cabecera.piso + ' ' + Cabecera.puerta + ' ' + Cabecera.escalera DirCliCabecera,
Cabecera.DtoCli DtoCliCabecera, Cabecera.PobCli PobCliCabecera,
Cabecera.NifCli NifCliCabecera,
Cabecera.Referencia ReferenciaCabecera, Cabecera.TelCli TelCliCabecera,
Cabecera.IdFacV,
PaisCliCab.NomPais NomPaisCliCabecera,
ProviCliCab.NomProvi NomProviCliCabecera,
Lineas.CodArt, Lineas.DescLin, Lineas.Unidades, Lineas.PrcMoneda,
Lineas.BaseMoneda, Lineas.Desc1, Lineas.Desc2, Lineas.Texto,
Lineas.Desc3, Lineas.Desc4, Lineas.TipIva,
Monedas.AbrMoneda,
DocuPago.DescDoc,
FormaPag.DescFor,
Cartera1.Fecha FechaVen1, Cartera1.ImporteMon ImporteVen1,
Cartera2.Fecha FechaVen2, Cartera2.ImporteMon ImporteVen2,
Cartera3.Fecha FechaVen3, Cartera3.ImporteMon ImporteVen3,
DatosConfig.IvaOIgic,
DomBanca.IBANEXT, DomBanca.BICEXT, DomBanca.CUENTAEXT,DatosEmp.Imagen,
CAST(Cabecera.MotivoRectificacion AS VARCHAR(500)) MotivoRectificacion
FROM CabeFacV Cabecera WITH(NOLOCK)
LEFT OUTER JOIN Dirent WITH(NOLOCK)
ON ( Dirent.CodCli = Cabecera.CodCli AND
Dirent.NumDir = Cabecera.NumDir)
LEFT OUTER JOIN Paises PaisEnt WITH(NOLOCK)
ON PaisEnt.CodPais = DirEnt.CodPais
LEFT OUTER JOIN Provinci ProviEnt(NOLOCK)
ON ProviEnt.CodProvi = DirEnt.CodProvi
LEFT OUTER JOIN Clientes WITH(NOLOCK)
ON Clientes.CodCli = Cabecera.CodCliFac
LEFT OUTER JOIN Paises PaisCli WITH(NOLOCK)
ON PaisCli.CodPais = Clientes.CodPais
LEFT OUTER JOIN Paises PaisFiscal WITH(NOLOCK)
ON PaisFiscal.CodPais = Clientes.PaisFiscal
LEFT OUTER JOIN Paises PaisCliCab WITH(NOLOCK)
ON PaisCliCab.CodPais = Cabecera.CodPais
LEFT OUTER JOIN Provinci WITH(NOLOCK)
ON Provinci.CodProvi = Clientes.CodProvi
LEFT OUTER JOIN Provinci ProviCliCab WITH(NOLOCK)
ON ProviCliCab.CodProvi = Cabecera.CodProvi
LEFT OUTER JOIN Provinci ProviFiscal WITH(NOLOCK)
ON ProviFiscal.CodProvi = Clientes.ProviFiscal
LEFT OUTER JOIN LineFact Lineas WITH(NOLOCK)
ON Lineas.IdFacV = Cabecera.IdFacV
LEFT OUTER JOIN Represen WITH(NOLOCK)
ON Represen.CodRep = Cabecera.CodRep
LEFT OUTER JOIN DocuPago WITH(NOLOCK)
ON DocuPago.DocPag = Cabecera.DocPag
LEFT OUTER JOIN FormaPag WITH(NOLOCK)
ON FormaPag.ForPag = Cabecera.ForPag
LEFT OUTER JOIN Monedas WITH(NOLOCK)
ON ( Cabecera.CodMon = Monedas.CodMon)
LEFT OUTER JOIN TiposCon WITH(NOLOCK)
ON tiposcon.tipocont = Cabecera.tipocont
LEFT OUTER JOIN DatosConfig WITH(NOLOCK)
ON datosconfig.idmultiemp = tiposcon.idmultiemp
LEFT OUTER JOIN DatosEmp WITH(NOLOCK)
ON datosemp.idmultiemp = tiposcon.idmultiemp
LEFT OUTER JOIN DomBanca WITH(NOLOCK)
ON ( DomBanca.NumDom = Cabecera.NumDom AND
DomBanca.CodCli = Cabecera.CodCliFac)
LEFT OUTER JOIN Cartera Cartera1(NOLOCK)
ON ( Cartera1.NumCartera = Cabecera.NumCartera AND
Cartera1.NumVen = ( SELECT Min( C.NumVen) NumVen
FROM Cartera C WITH(NOLOCK)
WHERE C.NumCartera = Cabecera.NumCartera AND
C.Anticipo <> 'C' AND
C.PadreDev = 0))
LEFT OUTER JOIN Cartera Cartera2(NOLOCK)
ON ( Cartera2.NumCartera = Cabecera.NumCartera AND
Cartera2.NumVen = ( SELECT Min( C.NumVen) NumVen
FROM Cartera C WITH(NOLOCK)
WHERE C.NumCartera = Cabecera.NumCartera AND
C.NumVen > Cartera1.NumVen AND
C.Anticipo <> 'C' AND
C.PadreDev = 0))
LEFT OUTER JOIN Cartera Cartera3(NOLOCK)
ON ( Cartera3.NumCartera = Cabecera.NumCartera AND
Cartera3.NumVen = ( SELECT Min( C.NumVen) NumVen
FROM Cartera C WITH(NOLOCK)
WHERE C.NumCartera = Cabecera.NumCartera AND
C.NumVen > Cartera2.NumVen AND
C.Anticipo <> 'C' AND
C.PadreDev = 0))
LEFT OUTER JOIN RefCli WITH(NOLOCK)
ON RefCli.CodCli = Clientes.CodCli
AND RefCli.CodArt = Lineas.CodArt
LEFT OUTER JOIN Articulo WITH(NOLOCK)
ON Articulo.CodArt = Lineas.CodArt
WHERE Cabecera.IdFacV = :nIdent
AND Lineas.EsComponente = 'F'
AND [CondicionesListado,Sysname,1=1]
ORDER BY Cabecera.IdFacV, Lineas.OrdLin
Valora esta pregunta


0