Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

и снова SELECT   Найти похожие ветки 

 
Вованчик ©   (2004-01-15 11:03) [0]

Здравствуйте.

Допустим есть таблица:

NN: Numeric, //7 цифр
Naim: Character,
и т.д.


Поле Naim понятно, а в поле NN закодирован тип наименования в следующем виде:
1-3 цифры: № группы
4-7 цифры: порядковый номер

вопрос в следующем: можно ли SELECTом выбрать все номера групп (чтобы не повторялись) добавив к ним одно из наименований в поле NAIM (первое попавшееся)?

например:
1200001 Название1
1200002 Название2
1200003 Название3
2100001 Название4
2100002 Название5

результат выборки должен быть таким
120 Название1
210 Название4

ЗЫ: сейчас делаю подобную выборку с помощью SELECTа и обрабатывая его в цикле.


 
Johnmen ©   (2004-01-15 11:07) [1]

Совет глобальный - перепроектировать структуру таблицы, предварительно почитав про нормализацию.


 
Вованчик ©   (2004-01-15 11:12) [2]


> Johnmen © (15.01.04 11:07) [1]

с большим удовольствием, но когда программу с такой таблицей используют на предприятии порядка 10 лет перепроектировка таблицы становиться просто нереальной задачей :(


 
Danilka ©   (2004-01-15 11:16) [3]

в localSQL есть substring для этого


 
Вованчик ©   (2004-01-15 11:23) [4]


> Danilka © (15.01.04 11:16) [3]

спасибо


 
Johnmen ©   (2004-01-15 11:26) [5]

>Вованчик © (15.01.04 11:12)

Тогда
- distinct, Danilka © (15.01.04 11:16)...
- эмуляция запроса из запроса...


 
Вованчик ©   (2004-01-15 12:16) [6]

странно получается:

при выполнении запроса

SELECT DISTINCT (SUBSTRING(CAST(NN AS CHAR(7)) FROM 1 FOR 3)) AS Sub FROM table\PY8051

получаю меньше значений чем делаю перебором :(


 
Johnmen ©   (2004-01-15 12:25) [7]

Вот здесь :
CAST(NN AS CHAR(7))
что, по-твоему будет для групп 001, 077 и т.п. ? Или "таких" нет ?


 
Вованчик ©   (2004-01-15 12:58) [8]


> Johnmen © (15.01.04 12:25) [7]


> что, по-твоему будет для групп 001, 077 и т.п. ? Или "таких"
> нет ?

а таких нету - все обязательно начинаются с цифры


 
Вованчик ©   (2004-01-15 12:58) [9]

я имею ввиду не с нуля, а с 1 до 9


 
Johnmen ©   (2004-01-15 13:00) [10]

Тогда странно...


 
Anatoly Podgoretsky ©   (2004-01-15 13:02) [11]

Вот и посмотри какие пропущены, может тогда понятно будет.


 
Вованчик ©   (2004-01-15 13:11) [12]

посмотрел: перебором находит 325 записей, SELECT всего 166.
Закономерности пропускания не выявил :(
Спасибо за помощь буду рыться дальше :)



Страницы: 1 вся ветка

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
14-16723
fag2000
2004-01-16 10:49
2004.02.06
Книги по ораклу


1-16429
iosafat
2004-01-22 13:45
2004.02.06
Как поменять цвет конкретного слова в RichEdit?


14-16598
RealRascal
2003-12-21 10:05
2004.02.06
Аномальная перезагрузка


1-16341
Юрий Ж.
2004-01-24 19:08
2004.02.06
Как получить доступ к БИТАМ?


3-16090
dilp
2004-01-11 03:36
2004.02.06
runtime определение поля как lookup ?