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 12-08-2005
Nomack Nomack is offline
Miembro
 
Registrado: jul 2005
Posts: 11
Poder: 0
Nomack Va por buen camino
Lightbulb Ayuda con una consulta

Tengo 3 tablas A B C cada tabla tiene sus respectivas columnas A1 A2... B1 B2.... C1 C2... y obviamente con registros....
La consulta es la siguiente: necesito ver en una tabla la segunda columna de cada tabla es decir A2 B2 C2 pero el numero de registros que necesito ver de cada columna es diferente A2 tiene 20 registros, B2 tiene 15 registros y C2 tiene 25 registros... no se como hacerlo trate de hacer un join pero me repite datos para igualarme el numero de registros... que puedo hacer si necesito esas columnas en un Qreport?
La idea es que como el dato mayor de registros es 25, la columna que tiene 20 me muestre (null) en los ultimos 5 registros, y la que tiene 15, me muestre (null) en los ultimos 10, o no me muestre nada solo casillas en blanco.
Por favor estoy desubicado necesito su ayuda Gracias.
__________________
NOMACK.
Responder Con Cita
  #2  
Antiguo 12-08-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Se puede hacer lo que tu quieres. Sería buena idea que mencionaras que motor utilizas y cuales son las restricciones para hacer esa consulta (cláusula where) para darte una mejor idea de como se peude hacer.

Uso SQL Server y tengo dos tablas cada una con un campo Folio y un campo Cantidad. Para mostrar la cantidad de las dos tablas, lo que yo hago es lo siguiente:
Código SQL [-]
SELECT T1.Cantidad, T2.Cantidad
FROM Tabla1 T1, Tabla2 T2
WHERE T1.Folio *= T2.Folio

con esto SQL Server me muestra todos los registros de T1 y todos los de T2 y cuando alguno no existe en T2 me muestra un null....
para evitar esto a veces utilizo un case
Código SQL [-]
case when t2.cantidad is null then 'No existe' else T2.Cantidad

Espero que al menos te de alguna idea.
Saludos.
__________________

Responder Con Cita
  #3  
Antiguo 17-08-2005
Nomack Nomack is offline
Miembro
 
Registrado: jul 2005
Posts: 11
Poder: 0
Nomack Va por buen camino
Unhappy Revisé la consulta

Contra: ya revise y es valida la consulta, pero delphi me genera error en el query cuando utilizo el (*=) .... pero por el asterisco, si lo quito no me genera error...
que puedo hacer para utilizar este tipo de consulta en delphi?
__________________
NOMACK.
Responder Con Cita
  #4  
Antiguo 17-08-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Hago lo siguiente y no me marca ningún error ni en la consulta, ni en el
resultado.
Código Delphi [-]
with datamod1.sdqQuery1 do begin
     SQL.Clear;
     SQL.Add('Select ....');
     ......
     SQL.Add('and F.folio*=O.folio');
     ......
     Open;
    ......
end; //with sdqQuery1

¿Podrías poner el código delphi con el que haces la instrucción y mencionar el mensaje de error que de marca? Tal vez con esa información pueda ayudarte mejor.
__________________

Responder Con Cita
  #5  
Antiguo 17-08-2005
Nomack Nomack is offline
Miembro
 
Registrado: jul 2005
Posts: 11
Poder: 0
Nomack Va por buen camino
Consulta

Cita:
Empezado por ContraVeneno
Hago lo siguiente y no me marca ningún error ni en la consulta, ni en el
resultado.
Código Delphi [-]
with datamod1.sdqQuery1 do begin
SQL.Clear;
SQL.Add('Select ....');
......
SQL.Add('and F.folio*=O.folio');
......
Open;
......
end; //with sdqQuery1

¿Podrías poner el código delphi con el que haces la instrucción y mencionar el mensaje de error que de marca? Tal vez con esa información pueda ayudarte mejor.
No se si estoy cometiendo un error, lo que pasa es que la sentencia SQL la escribo en la propiedad SQL del query (Tstrings), no en el codigo... si es asi, en que parte debo colocarlo? en el evento onclick de un Tbutton?
__________________
NOMACK.
Responder Con Cita
  #6  
Antiguo 18-08-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Bastante raro, no se porque te marque el error en el asterísco.
De cualquier manera lo que yo hago es colocar el código (mencionado) justo antes de que voy a utilizar la información de la base de datos, aunque el evento dependerá de cuando creas tu que es más conveniente.
Es todo lo que puedo decir.

saludos
__________________

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


La franja horaria es GMT +2. Ahora son las 10:55:07.


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