Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-10-2015
red_dragon red_dragon is offline
Registrado
NULL
 
Registrado: abr 2013
Posts: 7
Poder: 0
red_dragon Va por buen camino
Question Problema con una consulta

Hola a todos estoy haciendo un reporte y bueno tengo un problema con una consulta sql dos tablas detalladas asi:

Tabla hospital.
Código:
Cod_hospital │ nombre 
01│ san martin
02│ san pedro
Tabla medicos.
Código:
Cod_hospital│dni│nombre│especialidad
01│234234│ juan│medico
02│5234234│ martin│cirujano
01│3523525│dario│dentista
02│4234234│ruben│cirujano
Estoy trabajando en una consulta que me ordene el siguiente resultado:

Código:
Nombre_hospital│especialidad│numero_especialistas
San martin│medico│1
San martin│dentista│1
San pedro│cirujano│2
Para ello realice el siguiente script y no funciona probe arreglar de una u otra forma y no se como, gracias por vuestras sugerencias.
Código SQL [-]
select DISTINCT nombre,count(especialidad) from hospitales inner join medicos on hospitales.cod_hospital = medicos.cod_hospital group by hospitales.nombre

Última edición por Casimiro Notevi fecha: 26-10-2015 a las 09:17:00.
Responder Con Cita
  #2  
Antiguo 26-10-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Que es lo que no funciona? Da error o el resultado no es el esperado?

Por que haces un GROUP BY en un campo de texto y no en un campo numerico? Yo haria el group by cod_hospital
Responder Con Cita
  #3  
Antiguo 26-10-2015
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.409
Poder: 22
fjcg02 Va camino a la fama
Hola,

que yo sepa no se puede poner distinct cuando agrupas. Además te tendría que dar error porque en campo nombre no sabe de qué tabla cogerlo. Deberás especificar la tabla.
Quieres que la consulta te saque tres campos y sólo indicas dos.

Por otro lado, yo haría el from de la tabla de medicos, no de la de hospitales.

En resumidas cuentas.
Código SQL [-]
select H.nombre, M.especialidad, M.count(1) as total 
from medicos M inner join hospital H on (H.cod_hospital = M.cod_hospital)
group by H.nombre

y la recomendación de estudiar un buen manual de SQL básico.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 26-10-2015
ciskokkid ciskokkid is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 4
Poder: 0
ciskokkid Va por buen camino
problema con consulta

bueno, esa consulta esta muy sencilla, yo tambien te recomiendo estudiar un poco de sql,
esta consulta te da los resultados tal como los necesitas


Código SQL [-]

select hospital.nombre, medicos.especialidad,count(especialidad) as numero_especialistas
from hospital
join medicos on medicos.cod_hospital=hospital.cod_hospital
group by hospital.nombre, medicos.especialidad
order by count(especialidad)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema con una consulta leofuentes21 SQL 6 28-02-2011 16:04:27
problema con consulta sql gonza_619 Varios 6 22-07-2010 19:42:56
Problema con consulta pozillo SQL 2 29-01-2008 14:41:40
problema con consulta sql Cosgaya SQL 4 16-01-2006 18:09:17
problema con consulta. jsanchez SQL 2 20-05-2003 19:35:55


La franja horaria es GMT +2. Ahora son las 06:30:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi