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 08-06-2007
Val Val is offline
Miembro
 
Registrado: feb 2007
Posts: 51
Poder: 18
Val Va por buen camino
Consulta complicadilla en Firebird

Hola!

Tengo las siguientes tablas con los siguientes campos y contenido
TABLA1
Idtabla1 campo1
1 1
2 1
3 4
4 6
5 7

TABLA2
idtabla2 campoA idtabla1
1 1 1
2 1 4
3 0 1
4 0 3
5 0 2

idtabla* es la clave principal de cada una de las tablas y en Tabla2 tengo idtabla1 como clave foranea.

Necesito hacer una consulta que me devuelva una fila o más filas por cada fila de la tabla1 en la que campo1>3 (lo que me hace pensar en un outer join) pero en la tabla2 solo me interesan aquellas filas en las que campoA=0

Desearia que me devolviera:

Idtabla1 campo1 idtabla2 campoA idtabla1
3 4 4 0 3
5 7 null null null

Si hago algo del tipo:
SELECT * FROM tabla1 right outer join tabla2 on tabla1.idtabla1=tabla2=idtabla2
where tabla1.campo1>3 and tabla2.campoA=0

no me devuelve la linea del idtabla1=5 y si pongo (tabla2.campoA=0 or tabla2.campoA) entonces ya no me devuelve nada

¿Alguna sugerencia?

Gracias
Responder Con Cita
  #2  
Antiguo 08-06-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
prueba con esta consulta

Código SQL [-]
SELECT * 
FROM tabla1 left join tabla2 on tabla1.idtabla1=tabla2.idtabla1
where tabla1.campo1>3 and ((tabla2.campoA=0) or (tabla2.idtabla2 is null and campoA is null)

Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #3  
Antiguo 08-06-2007
Val Val is offline
Miembro
 
Registrado: feb 2007
Posts: 51
Poder: 18
Val Va por buen camino
Resuelto

Muchas gracias, para otra vez ya se que =null no es lo mismo que "is null" :P Gracias
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
Consulta SQL en Firebird Nelly SQL 1 06-04-2007 05:18:48
consulta en firebird cahosoft Firebird e Interbase 6 08-03-2007 21:56:59
consulta en Firebird 1.5.3 pvizcay Firebird e Interbase 5 01-12-2006 01:27:27
Optimizar Consulta en Firebird AGAG4 Firebird e Interbase 14 10-01-2006 02:11:30
Consulta con Firebird senpiterno Firebird e Interbase 1 20-12-2004 23:57:39


La franja horaria es GMT +2. Ahora son las 17:23:04.


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