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

Consulta SQL

Estas en el tema de Consulta SQL en el foro de Bases de Datos General en Foros del Web. Os pongo en situación: Tengo una tabla con noticas: IdNoticia: Id para la noticia IdMedio: Id para el medio de comunicación donde ha aparecido IdEdicion: ...
  #1 (permalink)  
Antiguo 31/12/2003, 05:10
 
Fecha de Ingreso: diciembre-2003
Mensajes: 9
Antigüedad: 20 años, 4 meses
Puntos: 0
Consulta SQL

Os pongo en situación:

Tengo una tabla con noticas:

IdNoticia: Id para la noticia
IdMedio: Id para el medio de comunicación donde ha aparecido
IdEdicion: Id de la Edicion del medio de comunicación
Difusion: Difusión de la edicion
IdTema: Propietario de la noticia
...
Hay muchos más campos pero no quiero quebraros más el coco.

Lo que quiero sacar es la difusión de las noticias de un determinado cliente para poder sumarlas y hacer mis cálculos. Se haría así:

SELECT DISTINCT Difusion FROM Noticias WHERE IdTema = Códigodelcliente

Pero de todos es sabido que los medios de comunicación no tienen la misma difusión en todas sus ediciones. Así, dos noticias pueden contener el idmedio del diario "EL PAÍS" pero una de ellas es de la edición nacional y otra de la edición andaluza que tiene una difusión mucho menor.

Cuando doy la difusión en conjunto de esas dos noticias me daría la suma de las dos cuando realmente la difusión es la de la edición nacional, la difusión en andalucía va implícita en la nacional.

Mi pregunta es ¿como puedo combinar DISTINCT y MAX para hacer esta consulta? o si se os ocurre otra forma de hacerlo decídmela.

Yo he probado algo así como

SELECT DISTINCT IdMedio, MAX(Difusion), .... FROM ... WHERE ....

pero evidentemente no funciona.

Gracias por anticipado y feliz año.

Salud y Saludos para todos.
  #2 (permalink)  
Antiguo 31/12/2003, 10:00
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
no puedes leer los archivos desde el enterprise manager?
me imagino que quieres que sql server te genere el codigo sql para exportarlo.
entra al enterprise manager, selecciona una base de datos y luego haz click derecho sobre ella y elige:

-> todas las tareas ->generar secuencia de comandos sql

eliges todo lo necesario y listo.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #3 (permalink)  
Antiguo 07/01/2004, 03:47
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años
Puntos: 0
Has probado con una GROUP BY

SELECT IdMedio, MAX(Difusion), .... FROM ... WHERE .... GROUP BY IdMedio


Un saludo
  #4 (permalink)  
Antiguo 07/01/2004, 05:24
 
Fecha de Ingreso: diciembre-2003
Mensajes: 9
Antigüedad: 20 años, 4 meses
Puntos: 0
Estaba complicándome demasiado por lo que veo. Gracias Teri


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 20:09.