Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

sql consulta union??

Estas en el tema de sql consulta union?? en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 20/11/2009, 17:39
 
Fecha de Ingreso: noviembre-2009
Mensajes: 6
Antigüedad: 15 años
Puntos: 0
sql consulta union??

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

************************************************** ************
  #2 (permalink)  
Antiguo 20/11/2009, 19:44
Avatar de cadesa  
Fecha de Ingreso: septiembre-2007
Ubicación: Guatemala
Mensajes: 130
Antigüedad: 17 años, 2 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.
__________________
死は永遠の一歩だ
  #3 (permalink)  
Antiguo 20/11/2009, 23:52
 
Fecha de Ingreso: noviembre-2009
Mensajes: 6
Antigüedad: 15 años
Puntos: 0
Respuesta: sql consulta union??

hola amigo pues ami me parecio porque si ejecuto cada select por su propia cuenta si me ejecuta la consulta el problema es cuando los uno con el UNION

Gracias
  #4 (permalink)  
Antiguo 21/11/2009, 00:09
 
Fecha de Ingreso: noviembre-2009
Mensajes: 6
Antigüedad: 15 años
Puntos: 0
Respuesta: sql consulta union??

holas de nuevo se me olvido acotar que la pro_id es la PK de de la tabla producto de fmmc.dbo.producto y el productoid es la llave primaria del fmmc_marts.dbo.dim_producto asi que cuando hago el inner les camparo con esas llaves mas no el productoid porq es identity y la PK de fmmc_marts.dbo.dim_producto
no sabras alguna otra forma de resolver eso necesito si o si unir esas esos select para que me den un una sola tabla



Gracias de antemano beuno fuero!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:28.