Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   como hacer una consulta con sql (http://www.forosdelweb.com/f21/como-hacer-consulta-con-sql-395096/)

dancresi 19/05/2006 09:56

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

kunndry 19/05/2006 10:46

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

PequeñoMauro 19/05/2006 11:10

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

Developer9 19/05/2006 11:25

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 :molesto:

RootK 19/05/2006 18:05

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

hadesinfer 21/05/2006 06:52

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

haron 21/05/2006 07:27

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

Developer9 22/05/2006 12:30

La base no está normalizada! Punto


La zona horaria es GMT -6. Ahora son las 21:38.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.