Club Delphi  
    Paypal   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 08-10-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Es correcto lo que indicas Casimiro.

El resultado que deseo obtener es exactamente el que indicas, PERO lo necesito obtener en un Join, porque como indiqué, la consulta es muchísimo más compleja, y ese resultado que necesito obtener, viene dado por un Join ...

Por eso no puedo hacer una unión de dos Select principales, ya que me cambiaría toda la estructura de la consulta, no siendo eficiente ni controlable.

El mismo resultado que tu estás indicando, es el que obtengo haciendo la unión de dos select dentro del propio Join, con la 'subconsulta' dentro del Join que indiqué.

Código SQL [-]
Select T1.CLAVE, T2.SUBCLAVE
from TABLA1 T1
left join (Select CLAVE, SUBCLAVE
           from TABLA2
             union
           Select CLAVE, 0 as SUBCLAVE
           from (Select CLAVE,
                 from TABLA2
                 group by CLAVE)) T2
on T1.CLAVE = T2.CLAVE

Es obtener el mismo resultado que indicas, con una unión, pero dentro del 'Join', que era mi pretensión inicial.

Si pusiera la consulta completa que tengo, sería absurdo ... porque casi no la domino ni yo !
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 08-10-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Añado algunos datos más ... para complicarlo aún mas ...

La consulta inicial es la unión de tres Select individuales. Por ello no puedo meter una unión más como principal para obtener el resultado que deseo, tal y como comentamos anteriormente.

Además, finalmente no puedo hacer lo que pretendo en un Stored Procedure porque además tengo que comprobar unos datos que tengo en memoria, en concreto, en unas 5000 celdas de un StringGrid (65 columnas x 80 filas).

Pasar todo ese cálculo a un SP, con consultas SQL adicionales sobre tablas temporales, sin duda alguna aumentaría el tiempo de proceso frente a hacer las oportunas comprobaciones sobre el StringGrid que tengo en memoria.

Vamos ... un buen lío !!
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 08-10-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por gluglu Ver Mensaje
Vamos ... un buen lío !!
Es que te gusta complicarte

Aunque yo estoy ahora en un embrollo que no tengo ni idea de cómo solucionarlo, a ver si lo consigo solucionar este fin de semana, si no tendré que poner una pregunta en clubdelphi, a ver si alguien contesta
Responder Con Cita
  #4  
Antiguo 12-10-2011
abelg abelg is offline
Miembro
 
Registrado: jul 2004
Posts: 50
Poder: 22
abelg Va por buen camino
Hola espero te sirva.

Código SQL [-]
Create table #tabla1 (clave varchar(2))
Create table #tabla2 (clave varchar(2), subclave int)

insert into #tabla1 values ('A')
insert into #tabla1 values ('B')
insert into #tabla1 values ('C')


insert into #tabla2 values ('B', 1)
insert into #tabla2 values ('B', 2)
insert into #tabla2 values ('B', 3)
insert into #tabla2 values ('B', 5)


Select 
   t1.clave,
   subclave = case when t2.clave is null 
      then 
         0 
      else 
        t2.subclave
      end
from #tabla1 t1
left join #tabla2 t2 on t1.clave = t2.clave

drop table #tabla1
drop table #tabla2

salu2
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
I. Explorer 7 abre siempre una ventana adicional que da error y se situa al frente Wonni Windows 4 14-06-2007 00:27:37
usando LEFT JOIN o RIGHT JOIN alcides SQL 8 03-05-2007 17:35:46
left join e inner join duda Patricio SQL 0 26-04-2007 22:06:43
LEFT OUTER JOIN e INNER JOIN Juntos alcides SQL 3 08-07-2005 18:06:27
Adicional Registro simon Conexión con bases de datos 17 06-07-2004 17:58:04


La franja horaria es GMT +2. Ahora son las 19:38:01.


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