Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.017 c
14-16596
Шишкин Илья
2004-01-09 11:17
2004.02.06
Полифония


14-16632
Undert
2004-01-14 22:33
2004.02.06
WD


6-16542
Makhanev A.S.
2003-12-05 01:18
2004.02.06
Поиск ServerSocket а...


9-16026
Vitas2
2003-07-22 16:17
2004.02.06
Попадание в цель


14-16743
NsiSoft
2004-01-15 18:45
2004.02.06
ЧАТ!




   Наверх