Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / выборка Sql / 6 сообщений из 6, страница 1 из 1
31.07.2006, 18:33
    #33890141
Uraganchik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка Sql
Знаю что не туда обращаюсь, но мне нужно сделать запрос на sql, а я в этих запросах не сильно разбираюсь...а пользуюсь только этим сайтов.
Проблема:
В таблице есть текстовое поле значения которого могут быть следующие(они определены строго):
38R 38L 40R 40L 42R 42L 44R 44L
нужно выбрать все записи у которых это поле находится например в промежутке

от 40R до 42R

какой запрос нужно написать?
...
Рейтинг: 0 / 0
31.07.2006, 18:52
    #33890189
McSpace
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка Sql
Я думаю, нужно не полениться и привести к 1й нормальной форме. Вынести признак R и L в отдельное битовое поле (column2), а числа оставить в первом (Column1).

Тогда запрос будет элементарным

Select * from table1
where column2 = 1 and (Column1 beetwin 40 and 42 )
...
Рейтинг: 0 / 0
31.07.2006, 19:11
    #33890230
Uraganchik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка Sql
Я думаю, нужно не полениться и привести к 1й нормальной форме. Вынести признак R и L в отдельное битовое поле (column2), а числа оставить в первом (Column1).

Тогда запрос будет элементарным

Select * from table1
where column2 = 1 and (Column1 beetwin 40 and 42 )

да действительно, так можно, но поле добавлять не хотелось...
а добавлять всё равно пришлось...
:-)
спс
...
Рейтинг: 0 / 0
31.07.2006, 19:30
    #33890261
McSpace
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка Sql
BETWEEN
...
Рейтинг: 0 / 0
31.07.2006, 21:27
    #33890414
borisd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка Sql
Как уже говорилось, лучше не поленится и превести к н.ф.,
но можно сделать и так если используется MS Sql 2000, например.
select * from
where substring(col1, 3, 1) = 'R' and cast(substring(col1, 1, 2) as int) between 40 and 42
...
Рейтинг: 0 / 0
01.08.2006, 17:25
    #33892753
Uraganchik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка Sql
Как уже говорилось, лучше не поленится и превести к н.ф.,
но можно сделать и так если используется MS Sql 2000, например.
select * from table1
where substring(col1, 3, 1) = 'R' and cast(substring(col1, 1, 2) as int) between 40 and 42


Жир, именно то что нужно, я уже подумывал добавлять поле в таблицу, было бы куча гимороя, я так получилось вообще жир
я просто в шоке, за 4-е часа задание сделал на которое выделялось целый день
благодаря этому запросу.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / выборка Sql / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]