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 25-03-2013
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
If o Case en cláusula WHERE

Hola gente del club se me ha presentado que necesito en la clausula WHERE poder tener dos alternativas algo así seria:

Declare @id_cliente char(1)

SELECT Campo1, Campo2
FROM Tabla
WHERE if @id_cliente = 'A' Then
Tabla.Campo1 is null
else
Tabla.Campo1 not is null

Digamos que necesito traer o los NULL o los que NO son NULL de un mismo campo.... de acuerdo a lo que seleccione el usuario de un combo yo pasaría 'A' o pasaría otro valor... Alguien sabe si esto es posible utilizo SQL Server.

Saludos y gracias.
Responder Con Cita
  #2  
Antiguo 25-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Amigo, después de más de 150 mensajes y todavía olvidas los tags al código
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 25-03-2013
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Yo lo haría así:

Código SQL [-]
SELECT Campo1, Campo2
FROM Tabla
WHERE 
(@id_cliente = 'A' and Tabla.Campo1 is null) or
(@id_cliente <> 'A' and Tabla.Campo1 is not null)

No se si la sintaxis para distinto es '<>' o '!=' o algo diferente.
Responder Con Cita
  #4  
Antiguo 25-03-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Jere_84.
Cita:
Empezado por Jere_84 Ver Mensaje
...
Digamos que necesito traer o los NULL o los que NO son NULL de un mismo campo....
No sé si estoy errado, pero de lo dicho infiero que es traer el conjunto de todos los campos que cumplan la condición ID_USUARIO = 'A', ya que que "CAMPO1" solo puede ser NULL o no serlo.

Luego:
Cita:
de acuerdo a lo que seleccione el usuario de un combo yo pasaría 'A' o pasaría otro valor...
Entonces la sentencia SQL la vería así:
Código SQL [-]
SELECT CAMPO1, CAMPO2
FROM TABLA
WHERE ID_CLIENTE = :PCLIE
Pero como dije anteriormente tal vez haya malinterpretado tu mensaje.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 26-03-2013
Avatar de ginkaku
ginkaku ginkaku is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 59
Poder: 12
ginkaku Va por buen camino
Hola Jere_84
Creo que lo que preguntabas era: ¿Puedo hacer una consulta sql con un parámetro enviado desde el form?. Yo te entendí asi y si este es el caso la respuesta es si. Mira yo uso ADOQuery por simple gusto seria algo asi:

Código Delphi [-]
ADOQuery1->Active=false;
ADOQuery1->SQL->Text="Select * from Tabla1 where tabla1.campo= "+Edit1->Text+";";
ADOQuery1->Active=true;

Perdona la sintaxis pero no tengo instalado delphi solo c++. La idea es esa hago una consulta y le envio a la clausula where lo que este en mi edit o en un combobox en tu caso. Recuerda desactivar y activar la consulta para que esta se actualice. Espero haberte entendido
Responder Con Cita
  #6  
Antiguo 26-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es mejor, por seguridad, usar parámetros, como ha indicado ecfisa.
Responder Con Cita
  #7  
Antiguo 26-03-2013
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
Gracias a todos por las respuestas han sido de gran utilidad..

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Clausula Transform? GustavoCruz Firebird e Interbase 5 07-02-2008 22:19:03
SQL y clausula Count karlaoax SQL 14 17-09-2007 19:35:55
Clausula Like JoseAntonio SQL 5 27-05-2007 07:28:47
Clausula LIKE federiconqn21 SQL 3 28-12-2005 15:49:13
Delete sin clausula where Fita Conexión con bases de datos 2 06-07-2005 01:35:04


La franja horaria es GMT +2. Ahora son las 03:17:28.


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