Hola degauss:
Al igual que Inicia, no me quedó muy claro que es lo que necesitas. Por un lado en tu post hablas de
rangos de fechas, pero en ningún lado aparece fecha alguna. T tabla sólo contiene valores numéricos de punto flotante, que es muy diferente a un campo fecha.
Ahora bien, dices que no puedes ocupar BETWEEN, y yo digo que esa es la solución, lo que pasa es que no has dado con la manera en que tienes que utilizar este operador. Veamos si esto te sirve:
Código SQL:
Ver originalDECLARE @TuTabla TABLE (HOLEID VARCHAR(10), DESDE FLOAT, HASTA FLOAT)
INSERT INTO @TuTabla VALUES ('DDD-2X5', 0, 1.5)
INSERT INTO @TuTabla VALUES ('DDD-2X5', 1.5, 3)
INSERT INTO @TuTabla VALUES ('DDD-2X5', 3, 4.5)
INSERT INTO @TuTabla VALUES ('DDD-2X5', 4.5, 6)
INSERT INTO @TuTabla VALUES ('DDD-2X5', 6, 7.5)
INSERT INTO @TuTabla VALUES ('DDD-2X5', 7.5, 9)
INSERT INTO @TuTabla VALUES ('DDD-2X5', 9, 10.5)
INSERT INTO @TuTabla VALUES ('DDD-2X5', 10.5, 12)
INSERT INTO @TuTabla VALUES ('DDD-2X5', 12, 13.5)
SELECT * FROM @TuTabla WHERE
1 BETWEEN DESDE AND HASTA
OR 4 BETWEEN DESDE AND HASTA
OR DESDE BETWEEN 1 AND 4
OR HASTA BETWEEN 1 AND 4
Observa en primer lugar que re-nombré los campos FROM y TO, ya que estas son
PALABRAS RESERVADAS por SQL Server y por lo tanto
NO DEBEN SER UTILIZADAS PARA IDENTIFICAR ALGÚN CAMPO O TABLA. Si insiste en utilizar estas palabras como identificadores siempre tendrás que ponerlas entre corchetes [].
Dale un vistazo a ver si te sirve el código.
Saludos
Leo.