Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 zapros SQL никак неполучаеться  [new]
Agil
Member

Откуда:
Сообщений: 379
привет . есть таблица некая
его я прокажу вам в виде екселя чтобы могли понять что уменя неполучаеться

6 010190 – other:
7 – – horses:
8 0101901100 – – – for slaughter
9 0101901900 – – – other

20 – – – weighing more than 80 kg, weighing not more than 160 kg:
21 0102902100 – – – – for slaughter
22 0102902900 – – – – other



если в поле Б впереди стоят '– – –' то к нему прибавлялась значение тогоже перестояшего поля Б с '– –' и где унего поля А пусто тоесть нул, а так далее если '– – – –' то переделисотяший '– – –' например так



в конечном итоге должно быть такое значение

8 0101901100 – – horses:– – – for slaughter
9 0101901900 – – horses:– – – other


21 0102902100 – – – weighing more than 80 kg, ......:– – – – for slaughter
22 0102902900 – – – weighing more than 80 kg, weighin.......:– – – – other

К сообщению приложен файл (tablic.xls - 17Kb) cкачать
25 июл 09, 15:11    [7460065]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
oraora
Guest
Насяльника...а по русски можно?
27 июл 09, 06:34    [7461868]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
фыв
Guest
Непонятно. Где поле Б? Где поле А?
27 июл 09, 09:33    [7462039]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Agil
Member

Откуда:
Сообщений: 379
фыв,
если непонятно то посмотри в еxcel файл то все понятно тама указано черно побелому, где номера это ID , а запись с передеби стояшим ноль это поле А , а последующее поле это поле Б посмотри на еxcel файл, потом коментарие делай.
27 июл 09, 10:29    [7462262]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
Agil,

0.
Правила форума на SQL.RU (v1.0)
Ограничения
Официальный язык форума - русский. Однако допускаются сообщения, написанные транслитом и на английском языке. Использование других языков возможно при цитировании либо в других исключительных случаях.

Пожалуйста, выучите русский.
1. Используя тег CSV, приведите примеры таблицы здесь, а не в прикрепляемом файле.
2. RTFM LAG.
27 июл 09, 10:36    [7462304]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Elic
Member

Откуда:
Сообщений: 29988
suPPLer
Пожалуйста, выучите русский.
К сожалению, этот (и не только этот) воз и ныне там.
27 июл 09, 10:43    [7462363]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Agil
Member

Откуда:
Сообщений: 379
suPPLer,



ID Pole A B
1 01 Live animals
2 0101 Live horses, asses, mules and hinnies:
3 010110 – pure-bred (pure-blooded) breeding animals:
4 0101101000 – – horses
5 0101109000 – – other
6 010190 – other:
7 – – horses:
8 0101901100 – – – for slaughter
9 0101901900 – – – other
10 0101903000 – – asses
11 0101909000 – – mules and hinnies
12 0102 Live bovine animals:
13 010210 – pure-bred breeding animals:
14 0102101000 – – heifers (female bovines that have never calved)
15 0102103000 – – cows
16 0102109000 – – other
17 010290 – other:
18 – – domestic species:
19 0102900500 – – – weighing not more than 80 kg
20 – – – weighing more than 80 kg, weighing not more than 160 kg:
21 0102902100 – – – – for slaughter
22 0102902900 – – – – other
вот пример таблицы, да если чтото с русской грамматикой проблема, то туточки нефорум по орфографии русскому языку,
27 июл 09, 11:00    [7462509]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Agil
Member

Откуда:
Сообщений: 379
ID A B

1 01 Live animals
2 0101 Live horses, asses, mules and hinnies:
3 010110 – pure-bred (pure-blooded) breeding animals:
4 0101101000 – – horses
5 0101109000 – – other
6 010190 – other:
7 – – horses:
8 0101901100 – – – for slaughter
9 0101901900 – – – other
10 0101903000 – – asses
11 0101909000 – – mules and hinnies
12 0102 Live bovine animals:
13 010210 – pure-bred breeding animals:
14 0102101000 – – heifers (female bovines that have never calved)
15 0102103000 – – cows
16 0102109000 – – other
17 010290 – other:
18 – – domestic species:
19 0102900500 – – – weighing not more than 80 kg
20 – – – weighing more than 80 kg, weighing not more than 160 kg:
21 0102902100 – – – – for slaughter
22 0102902900 – – – – other
27 июл 09, 11:10    [7462599]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
Elic,

опаньки, я даже не глянул, что у ТС это врождённое...

Agil,

0. RTFFAQ Как мне оформить своё сообщение
1. STFW учебник русского языка
2. Туточки не форум по переводу с "я хати делай то, пачему не то?" на русский. По телепатии - да, немного.
3. Где Ваш запрос, который не выдаёт Вам нужных данных?

PS: И напоследок - за связь между группой и подгруппами по первым символам кода подгруппы проектировщика наградить переходящим колпаком...
27 июл 09, 12:04    [7463095]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
oragraf
Member

Откуда: Moscow
Сообщений: 1317
suPPLer
PS: И напоследок - за связь между группой и подгруппами по первым символам кода подгруппы проектировщика наградить переходящим колпаком...
Я думаю, у него есть чалма
27 июл 09, 12:07    [7463127]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
oragraf
Я думаю, у него есть чалма
Есть какая-то особая разница между теми, у кого есть чалма, и теми, у кого есть кепка / шляпа / кипа / бандана / ушанка?
27 июл 09, 12:29    [7463295]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Agil
Member

Откуда:
Сообщений: 379
suPPLer
Elic,

опаньки, я даже не глянул, что у ТС это врождённое...

Agil,

0. RTFFAQ Как мне оформить своё сообщение
1. STFW учебник русского языка
2. Туточки не форум по переводу с "я хати делай то, пачему не то?" на русский. По телепатии - да, немного.
3. Где Ваш запрос, который не выдаёт Вам нужных данных?

PS: И напоследок - за связь между группой и подгруппами по первым символам кода подгруппы проектировщика наградить переходящим колпаком...


select t.id,t.A
, DECODE(SUBSTR(T.B,1,1),'–',T.A) A1
, DECODE(SUBSTR(T.B,1,3),'– –',T.A) A2
, DECODE(SUBSTR(T.B,1,5),'– – -',T.A) A3
, DECODE(SUBSTR(T.B,1,7),'– – – -',T.A) A4
, DECODE(SUBSTR(T.B,1,9),'– – – - -',T.A) A5

--decode(substr(t.B,1,5),'– – –', t.B,substr(t.B,1,3),'– –',t.B) BB
--decode(SUBSTR(T.B,1,3),'---', T.B|| decode(SUBSTR(T.B,1,2),'',T.B)) AA
from tablename t

а что касаеться связь между группами, да мне именно нужно из этого файла создать 4 таблицы, а для того чтобы талицы создать я должен привести в порядок эту таблицу потом уже изнего создать связянные 4 таблицы. может и структуру таблицы показать которые должен я создать
27 июл 09, 12:32    [7463324]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Rostislav74
Member

Откуда:
Сообщений: 138
Аднака думать некахда - трясти нада
27 июл 09, 12:33    [7463327]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Agil
Member

Откуда:
Сообщений: 379
Ну что а все говорили то это то другое ,посушеству никто может помочь с запросом,а говорить мы все гуру
27 июл 09, 13:35    [7463933]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
Agil
suPPLer


Agil,

0. RTFFAQ Как мне оформить своё сообщение
...


select t.id,t.A
, DECODE(SUBSTR(T.B,1,1),'–',T.A) A1
, DECODE(SUBSTR(T.B,1,3),'– –',T.A) A2
, DECODE(SUBSTR(T.B,1,5),'– – -',T.A) A3
, DECODE(SUBSTR(T.B,1,7),'– – – -',T.A) A4  
, DECODE(SUBSTR(T.B,1,9),'– – – - -',T.A) A5  
                     
--decode(substr(t.B,1,5),'– – –', t.B,substr(t.B,1,3),'– –',t.B) BB
--decode(SUBSTR(T.B,1,3),'---', T.B|| decode(SUBSTR(T.B,1,2),'',T.B)) AA
from tablename t


Я так понял, что Вы неисправимы.

Agil
может и структуру таблицы показать которые должен я создать

Было бы здорово. Но, боюсь, Вы опять запостите сюда безо всякого оформления, потому воздержитесь от этого. Вот, подумайте над примером:

with t as (select to_char(level, '00') code, lpad('-', level * 2 - 1, '- ') l, 'a' || level data from dual connect by level <= 3
            union all
           select to_char(level+1, '00') code, lpad('-', level * 2 - 1, '- ') l, 'b' || level data from dual connect by level <= 3)
   , example as (select rownum id, replace(sys_connect_by_path(code,'.'), '. ') code, l, data 
                   from t 
                  start with l = '-' connect by to_number(code) = prior to_number(code) + 1 and substr(data, 1, 1) = prior substr(data, 1, 1))
select e1.id, e1.code, e1.l, e1.data, trim(e2.data || ' ' || e1.data)
  from example e1, example e2
 where substr(e1.code, 1, length(e1.l) - 1) = e2.code (+)
 order by code
27 июл 09, 13:38    [7463959]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Elic
Member

Откуда:
Сообщений: 29988
Agil
а говорить мы все гуру
Воинственность, отягощённая сопуствующими заболеваниями, так и прёт изо всех щелей.
"Жизнь сама таких накажет строго" (с) - Не пора ли, господа модераторы?
27 июл 09, 13:43    [7464001]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Agil
Member

Откуда:
Сообщений: 379
suPPLer
Agil
suPPLer


Agil,

0. RTFFAQ Как мне оформить своё сообщение
...


select t.id,t.A
, DECODE(SUBSTR(T.B,1,1),'–',T.A) A1
, DECODE(SUBSTR(T.B,1,3),'– –',T.A) A2
, DECODE(SUBSTR(T.B,1,5),'– – -',T.A) A3
, DECODE(SUBSTR(T.B,1,7),'– – – -',T.A) A4  
, DECODE(SUBSTR(T.B,1,9),'– – – - -',T.A) A5  
                     
--decode(substr(t.B,1,5),'– – –', t.B,substr(t.B,1,3),'– –',t.B) BB
--decode(SUBSTR(T.B,1,3),'---', T.B|| decode(SUBSTR(T.B,1,2),'',T.B)) AA
from tablename t


Я так понял, что Вы неисправимы.

Agil
может и структуру таблицы показать которые должен я создать

Было бы здорово. Но, боюсь, Вы опять запостите сюда безо всякого оформления, потому воздержитесь от этого. Вот, подумайте над примером:

with t as (select to_char(level, '00') code, lpad('-', level * 2 - 1, '- ') l, 'a' || level data from dual connect by level <= 3
            union all
           select to_char(level+1, '00') code, lpad('-', level * 2 - 1, '- ') l, 'b' || level data from dual connect by level <= 3)
   , example as (select rownum id, replace(sys_connect_by_path(code,'.'), '. ') code, l, data 
                   from t 
                  start with l = '-' connect by to_number(code) = prior to_number(code) + 1 and substr(data, 1, 1) = prior substr(data, 1, 1))
select e1.id, e1.code, e1.l, e1.data, trim(e2.data || ' ' || e1.data)
  from example e1, example e2
 where substr(e1.code, 1, length(e1.l) - 1) = e2.code (+)
 order by code


если можна пожалуста обяъясникте запрос чтото я неоченьто понял хотел переделать под свою таблицу неполучилось
27 июл 09, 14:18    [7464284]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Grey_Angel
Member

Откуда:
Сообщений: 26
ППЦ.
Такого извращенного способа реализации банальной рекурсии я ещё не видел.

Переделайте структуру данных так, чтобы вместо ваших "палочек", было поле(ля) на первичный ключ вашей таблицы. Дальше - простейшая реализация запроса с использованием этой самой рекурсии.

Если уж нравится так изврашатся, то по-сути, suPPLer уже сделал вам реализацию. Разберите его пример и будет вам счастье.
27 июл 09, 14:33    [7464395]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Agil
Member

Откуда:
Сообщений: 379
Grey_Angel
ППЦ.
Такого извращенного способа реализации банальной рекурсии я ещё не видел.

Переделайте структуру данных так, чтобы вместо ваших "палочек", было поле(ля) на первичный ключ вашей таблицы. Дальше - простейшая реализация запроса с использованием этой самой рекурсии.

Если уж нравится так изврашатся, то по-сути, suPPLer уже сделал вам реализацию. Разберите его пример и будет вам счастье.


Давайте так объясню подругому у меня есть excel файл непомоей прихоти конечно дали такой файл, Я создал таблицу и все данные посадил в таблицу просто копия скажем excel файл . Прежде чем его привести ввид нормально связанной таблицы (их будет 4 штук) я должен устранить проблемы с пустым полем А, например таким оброзом. если в поле Б "- - - - -"
вот в данное время таблица имеет такое значение
 ид           А                   Б
6 010190 – other:
7 – – horses:
8 0101901100 – – – for slaughter
9 0101901900 – – – other
20 – – – weighing more than 80 kg, weighing not more than 160 kg:
21 0102902100 – – – – for slaughter
22 0102902900 – – – – other

а после запроса я хочу видеть эту данные в таблице в таком виже
ид А Б
6 010190 – other:
8 0101901100 – – horses:– – – for slaughter
9 0101901900 – – horses:– – – other
21 0102902100 – – – weighing more than 80 kg, ......:– – – – for slaughter
22 0102902900 – – – weighing more than 80 kg, weighin.......:– – – – other

после того я как приведу эти данный вид создам 4 таблицы
table_NAME_1 GOODS_GROUP

ID ,
CODE,
NAME,

table_name_2 GOODS_POSITION

ID ,
GROUP_ID ,
CODE,
NAME

table_NAME_3 GOODS_SUBPOSITION

ID,
POSITION_ID ,
CODE ,
NAME ,

table_NAME_4 GOODS_GOODS

ID ,
SUBPOSITION_ID,
CODE ,
NAME ,

и данные с первой таблицы перекатаю каждую запись в соответствубющий,это моя проблема тама уже решаемая проблема знаю как просто трудность в первой части задачи если можна помогите реально с запросом
27 июл 09, 15:06    [7464662]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
фыв
Guest
SELECT * FROM ТВОЯ_ТАБЛИЦА WHERE trim(КОЛОНКА_А) IS NOT NULL;
27 июл 09, 15:35    [7464876]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
фыв
Guest
Сорри выше мой пост не правильный.
Не до конца разобрался в задании ТС.
27 июл 09, 15:37    [7464888]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
Конкатенацию хоть освоите сами?

with t as (select 6 id, '010190' a, '– other:' b from dual 
            union all
           select 7 id, '' a, '– – horses:' b from dual 
            union all
           select 8 id, '010190' a, '– – – for slaughter' b from dual 
            union all
           select 9 id, '010190' a, '– – – other' b from dual 
            union all
           select 20 id, '' a, '– – – weighing more than 80 kg, weighing not more than 160 kg:' b from dual 
            union all
           select 21 id, '010190' a, '– – – – for slaughter' b from dual 
            union all
           select 22 id, '010190' a, '– – – – other' b from dual )
select * 
  from (select id, a, b, max(nvl2(a, '', b)) over(partition by gr)
          from (select id, a, b, sum(nvl2(a, 0, 1)) over(order by id) gr
                  from t))
 where a is not null                  
 order by id
27 июл 09, 15:37    [7464895]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
Agil
Member

Откуда:
Сообщений: 379
suPPLer
Конкатенацию хоть освоите сами?

with t as (select 6 id, '010190' a, '– other:' b from dual 
            union all
           select 7 id, '' a, '– – horses:' b from dual 
            union all
           select 8 id, '010190' a, '– – – for slaughter' b from dual 
            union all
           select 9 id, '010190' a, '– – – other' b from dual 
            union all
           select 20 id, '' a, '– – – weighing more than 80 kg, weighing not more than 160 kg:' b from dual 
            union all
           select 21 id, '010190' a, '– – – – for slaughter' b from dual 
            union all
           select 22 id, '010190' a, '– – – – other' b from dual )
select * 
  from (select id, a, b, max(nvl2(a, '', b)) over(partition by gr)
          from (select id, a, b, sum(nvl2(a, 0, 1)) over(order by id) gr
                  from t))
 where a is not null                  
 order by id


так правильнее спасибо а как это можна сделать чтобы неконкректно писать записи а ,а то таблица огромная 15 тыс записей
27 июл 09, 15:59    [7465044]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
фыв
Guest
select * 
  from (select КОЛОНКА_id, КОЛОНКА_a, КОЛОНКА_b, max(nvl2(КОЛОНКА_a, '', КОЛОНКА_b)) over(partition by gr)
          from (select КОЛОНКА_id, КОЛОНКА_a, КОЛОНКА_b, sum(nvl2(КОЛОНКА_a, 0, 1)) over(order by КОЛОНКА_id) gr
                  from ИМЯ_ТВОЕЙ_ТАБЛИЦЫ))
 where КОЛОНКА_a is not null                  
 order by КОЛОНКА_id
27 июл 09, 16:03    [7465062]     Ответить | Цитировать Сообщить модератору
 Re: zapros SQL никак неполучаеться  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
Всё, тут я умываю руки...

Agil, конечно, можно сделать так, чтобы не писать конкретные записи! Заключите разовый или постоянный контракт со специалистом, знающим Oracle. Хотя бы на уровне знания subquery factoring clause...
-------------------------------------------------------
When I say "RTFM" or "STFF" or "STFW",
the third letter means "Following" or "Fine"...
27 июл 09, 16:06    [7465081]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить