Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

como hacer una consulta con sql

Estas en el tema de como hacer una consulta con sql en el foro de Bases de Datos General en Foros del Web. Hola amigos como puedo hacer una consulta por diferentes campos sin utilizar la orden logica OR ejemplo consulta select * from personal where concepto1='04' or ...
  #1 (permalink)  
Antiguo 19/05/2006, 09:56
 
Fecha de Ingreso: marzo-2005
Mensajes: 372
Antigüedad: 19 años, 1 mes
Puntos: 1
como hacer una consulta con sql

Hola amigos como puedo hacer una consulta por diferentes campos sin utilizar la orden logica OR

ejemplo consulta

select * from personal where concepto1='04' or concepto2='04' or concepto3='04'......concepto50='04'


existe una forma para no escribir 50 veces OR y 50 veces el nombre de los campos desde concepto1 hasta concepto50 como lo puedo hacer gracias
  #2 (permalink)  
Antiguo 19/05/2006, 10:46
Avatar de kunndry  
Fecha de Ingreso: abril-2004
Ubicación: Alicante / España
Mensajes: 247
Antigüedad: 20 años
Puntos: 0
Si, esta el between (entre)

SELECT * FROM personal
WHERE concepto
BETWEEN 1 AND 50

Lo que no estoy seguro es si con cadenas de caracteres funciona
  #3 (permalink)  
Antiguo 19/05/2006, 11:10
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
En este caso, por lo que él comenta no son valores, sino los campos, no se si sea una suposición, pero quiere hacer una comparación, por ejemplo, si tuviera 50 campos.
Pero la pregunta sería, ¿cual es el objeto de hacer una consulta asi?, tener 50 campos con el mismo valor no creo que se de...
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #4 (permalink)  
Antiguo 19/05/2006, 11:25
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Cita:
Iniciado por PequeñoMauro
En este caso, por lo que él comenta no son valores, sino los campos, no se si sea una suposición, pero quiere hacer una comparación, por ejemplo, si tuviera 50 campos.
Pero la pregunta sería, ¿cual es el objeto de hacer una consulta asi?, tener 50 campos con el mismo valor no creo que se de...
Saludos
PequeñoMauro tienes razon.

Con el respeto que se merecen los que postearon y el que eliminó mi post... no sean pelotudos!!!! No se dan cuenta que lo que cambia no es el valor sino el nombre del campo.

En lo que yo postié hablaba sobre en el codigo de un programa hacer un ciclo para construir el query, puesto a que yo lo he hecho antes y si funciona. Además a mi parecer ese ese problema se hubiera evitado normalizando la base, y lo puediera discutir con cualquier persona forera con argumentos validos.

Si borran respuestas "erroneas" porque no borran esta:

Cita:
Iniciado por kunndry
Si, esta el between (entre)

SELECT * FROM personal
WHERE concepto
BETWEEN 1 AND 50

Lo que no estoy seguro es si con cadenas de caracteres funciona
la cual está completamente fuera de lugar.

Esta es la primera vez que me han hecho dar coraje en serio en foros del web
  #5 (permalink)  
Antiguo 19/05/2006, 18:05
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Iniciado por dancresi
Hola amigos como puedo hacer una consulta por diferentes campos sin utilizar la orden logica OR
también no le vería sentido hacer una consulta de ese tipo, aunque si lo requieres puedes crear un ciclo usando dentro un SP (por ejemplo) y concatenar las columnas ya que tienen un órden o si estas haciendolo mediante un código puedes pasarle la cadena ya preparada.

Que manejar de BD estás usando ? y si estas usando algun lenguaje server-side cual es ?

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #6 (permalink)  
Antiguo 21/05/2006, 06:52
Avatar de hadesinfer  
Fecha de Ingreso: mayo-2005
Mensajes: 43
Antigüedad: 18 años, 11 meses
Puntos: 0
select....

no se para que deseas realizar una consulta de tantos campos dime exactamente que deseas y seguro que se puede realizar de otra forma...




www.dapsolutions.es
  #7 (permalink)  
Antiguo 21/05/2006, 07:27
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
no lo he probado, pero a lo mejor te funciona esto:

select * from personal where '04' in (concepto1, concepto2, .., concepto50)

pd.: si no funciona borren el post
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
  #8 (permalink)  
Antiguo 22/05/2006, 12:30
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
La base no está normalizada! Punto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:15.