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 18-04-2008
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
Contar registros en una columna

Amigos, tengo 2 tablas en paradox, la tabla A es la tabla principal y la tabla B es una tabla detalles.

Entonces quiero en una consulta mostrar todos los registros de A y en la ultima columna contar los registros de B para cada fila en A.

He escrito la siguiente consulta SQl pero no consigo lo que necesito ya que me muestra el mismo valor, que viene siendo la cantida de registros que tiene la tabla B

Código SQL [-]
 
SELECT Cod_Turno, Fecha_Modelo, Nro_Modelo, Nro_Turno, Cant_Toneladas, Tipo_Produccion,
( SELECT COUNT( Cod_Turno ) 
FROM "TurnosDetalles.DB" TD
WHERE  TD.Cod_Turno = Cod_Turno ) TrabCaptados
FROM "Turnos.DB" T

Pudiera alguien ayudarme???
Gracias
Responder Con Cita
  #2  
Antiguo 18-04-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Cool utiliza Group By

Cita:
Empezado por dtomeysoto Ver Mensaje
Amigos, tengo 2 tablas en paradox, la tabla A es la tabla principal y la tabla B es una tabla detalles.

Entonces quiero en una consulta mostrar todos los registros de A y en la ultima columna contar los registros de B para cada fila en A.

He escrito la siguiente consulta SQl pero no consigo lo que necesito ya que me muestra el mismo valor, que viene siendo la cantida de registros que tiene la tabla B


Código SQL [-]
SELECT Cod_Turno, Fecha_Modelo, Nro_Modelo, Nro_Turno, Cant_Toneladas, Tipo_Produccion,
( SELECT COUNT( Cod_Turno )
FROM "TurnosDetalles.DB" TD
WHERE TD.Cod_Turno = Cod_Turno ) TrabCaptados
FROM "Turnos.DB" T





Pudiera alguien ayudarme???
Gracias

Hola.. creo que le falta un Group By.. así tu consulta deberia quedar

Código SQL [-]
SELECT COD_TURNO,
       FECHA_MODELO,
       NRO_MODELO,
       NRO_TURNO,
       CANT_TONELADAS,
       TIPO_PRODUCCION,
       (SELECT COUNT(COD_TURNO)
        FROM   "TurnosDetalles.DB" TD
        WHERE  TD.COD_TURNO = COD_TURNO) TRABCAPTADOS
FROM   "Turnos.DB" T
GROUP BY COD_TURNO, FECHA_MODELO, NRO_MODELO, NRO_TURNO, CANT_TONELADAS, TIPO_PRODUCCION

No se si seria esto,,, por que no he usado mucho el Group By...pero creo que debiera ser así... (no lo he probado...)

Salu2
__________________
BlueSteel

Última edición por BlueSteel fecha: 18-04-2008 a las 21:47:06. Razón: ortografia
Responder Con Cita
  #3  
Antiguo 18-04-2008
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
no funciona

amigo probe eso pero no funciona.
Responder Con Cita
  #4  
Antiguo 18-04-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Maestro detalle

Que tal si intentas esto:

Código SQL [-]
SELECT A.Cod_Turno,
  A.Fecha_Modelo,
  A.Nro_Modelo,
  A.Nro_Turno,
  A.Cant_Toneladas,
  A.Tipo_Produccion,
  Count(B.*) Total_B
FROM "Turnos.DB" A
JOIN "TurnosDetalles.db" B
ON A.Cod_Turno = B.Cod_Turno
GROUP BY A.Cod_Turno,
  A.Fecha_Modelo,A.Nro_Modelo,A.Nro_Turno,A.Cant_Toneladas,A.Tipo_Produccion
Espero que te sirva. Saludos
Responder Con Cita
  #5  
Antiguo 18-04-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 18
hecospina Va por buen camino
Prueba
Código SQL [-]
SELECT d.COD_TURNO,d.FECHA_MODELO,d.NRO_MODELO,d.NRO_TURNO,d.CANT_TONELADAS,d.TIPO_PRODUCCION,COUNT(d1.COD_  TURNO) as NoTurnos
FROM   "Turnos.DB" d , "TurnosDetalles.DB" d1
WHERE  (d1.COD_TURNO = d.COD_TURNO)
GROUP BY d.COD_TURNO, d.FECHA_MODELO, d.NRO_MODELO, d.NRO_TURNO, d.CANT_TONELADAS, d.TIPO_PRODUCCION
Responder Con Cita
  #6  
Antiguo 18-04-2008
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
ya resolvi, gracias

Amigos, gracias a sus ideas resolvi con la siguente sentencia SQl:

Código SQL [-]
size="1">
SELECT Turnos.Fecha_Modelo, Turnos.Nro_Modelo, Turnos.Nro_Turno, Turnos.Cant_Toneladas, Turnos.Tipo_Produccion, COUNT( Turnosdetalles.Cod_Turno ) aaa
FROM "Turnos.DB" Turnos
INNER JOIN "TurnosDetalles.DB" Turnosdetalles
ON (Turnosdetalles.Cod_Turno = Turnos.Cod_Turno) 
GROUP BY Turnos.Fecha_Modelo, Turnos.Nro_Modelo, Turnos.Nro_Turno, Turnos.Cant_Toneladas, Turnos.Tipo_Produccion
ORDER BY Turnos.Fecha_Modelo, Turnos.Nro_Modelo, Turnos.Nro_Turno
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
Hacer que una columna de un DbGrid aparezca distinta según valor Aprendiendo OOP 11 30-11-2018 15:47:20
Contar registros filtrados con TDbf userlazarus Conexión con bases de datos 5 28-10-2015 11:02:21
¿como contar los registros en un DBLookupListBox? Nelly Varios 3 24-09-2007 20:20:30
Contar registros de un MailMerge Elenita Servers 0 31-10-2006 11:47:31
Contar Registros Roilo SQL 10 18-07-2006 22:20:24


La franja horaria es GMT +2. Ahora son las 19:57:13.


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