Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/11/2009, 19:44
Avatar de cadesa
cadesa
 
Fecha de Ingreso: septiembre-2007
Ubicación: Guatemala
Mensajes: 130
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: sql consulta union??

Cita:
Iniciado por wesut Ver Mensaje
hola trato de generar esta consulta pero me arroja en el seguiente erro:
Mens. 8120, Nivel 16, Estado 1, Línea 1
La columna 'fmmc_marts.dbo.Dim_Producto.ProductoID' de la lista de selección no es válida, porque no está contenida en una función de agregado ni en la cláusula GROUP BY.
************************************************** ************
select dp.productoid,dc.clienteid,dpe.personalid,ddoc.Doc umentoID,dv.VentaID,dt.Tiempo_ID,
montototalvendido=sum(dd.subtotal)
from d_doc dd inner join documento_v d
on d.doc_num =dd.doc_num and d.doc_serie=dd.doc_serie
inner join fmmc_marts.dbo.Dim_Documento ddoc
on ddoc.num_doc = d.doc_num
inner join Tipo_venta tv on tv.Tventa_id= d.TVenta_id
inner join fmmc_marts.dbo.Dim_Venta dv
on dv.tventa_id = tv.Tventa_id
inner join fmmc.dbo.Produ pr
on pr. pro_id= dd.prod_id
inner join fmmc_marts.dbo.Dim_Producto dp
on dp.pro_id = dd.prod_id
inner join fmmc.dbo.Cliente cli
on cli.Cli_id = d.cli_id
inner join fmmc_marts.dbo.Dim_cliente dc
on dc.cli_id=d.cli_id
inner join fmmc.dbo.Personal per
on per.Per_id= d.Per_id
inner join fmmc_marts.dbo.Dim_personal dpe
on dpe.per_id = d.per_id
inner join fmmc_marts.dbo.Dim_tiempo dt on
dt.Fecha =convert(char(10),d.fecha,103)
union select dp.productoid,dc.clienteid,dpe.personalid,ddoc.Doc umentoID,dv.VentaID,dt.Tiempo_ID,
totalventasacredito= sum (d.total)
from d_doc dd inner join documento_v d
on d.doc_num =dd.doc_num and d.doc_serie=dd.doc_serie
inner join fmmc_marts.dbo.Dim_Documento ddoc
on ddoc.num_doc = d.doc_num
inner join Tipo_venta tv on tv.Tventa_id= d.TVenta_id
inner join fmmc_marts.dbo.Dim_Venta dv
on dv.tventa_id = tv.Tventa_id
inner join fmmc.dbo.Produ pr
on pr. pro_id= dd.prod_id
inner join fmmc_marts.dbo.Dim_Producto dp
on dp.pro_id = dd.prod_id
inner join fmmc.dbo.Cliente cli
on cli.Cli_id = d.cli_id
inner join fmmc_marts.dbo.Dim_cliente dc
on dc.cli_id=d.cli_id
inner join fmmc.dbo.Personal per
on per.Per_id= d.Per_id
inner join fmmc_marts.dbo.Dim_personal dpe
on dpe.per_id = d.per_id
inner join fmmc_marts.dbo.Dim_tiempo dt
on dt.Fecha=convert(char(10),d.fecha,103)
where d.TVenta_id='2'
group by dp.productoid,dc.clienteid,dpe.personalid,ddoc.Doc umentoID,dv.VentaID,dt.Tiempo_ID

************************************************** ************


Hola como estas

Pues no esta mero complicado, porque no tengo el entidad relación como para verlo detenidamente pero creo que el error esta en esta en que la llave que usas para relacionar el fmmc_marts.dbo.Dim_Producto le decis que es pro_id pero yo creo que ahi debe de ir productoid.

y suena mas raro debido a que el error esta en la clausula Group by.
__________________
死は永遠の一歩だ