Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Помощь в запросе  [new]
Steven2006
Member

Откуда:
Сообщений: 29
Добрый день,
Помогите написать Insert.
в Tab1. Есть много дублей по 2-3 значения, NUM (для примера беру 3 значения):
1. ID = 5
NUM = 222

2. ID = 6
NUM = 222

3. ID = 8
NUM = 222

в Tab2. Нужно проверить есть ли ID
в Tab3 проинсёртить в одну строку
NUM Y_ID(если ЕСТЬ в Tab2) N_ID(если НЕТ в Tab2)
222 6 5
222 6 8
6 июн 16, 16:41    [19263837]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Avotge
Guest
Как ничего не понять и не подать виду.jpg )
Вариантов много, но откуда куда что вставлять из задачи толком не ясно.
по rowid, один insert или в цикле, с выборкой уникальныхпо row_number() или merge, или ручной merge (update, sql%rowcount, insert), distinct на крайняк и т.д. )
6 июн 16, 16:52    [19263887]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Добрый Э - Эх
Guest
Steven2006,

думаю, даже сама Баба Ванга, размазав картами Таро остатки кофейной гущи по хрустальному шару, не смогла бы протелепатить, что именно тебе нужно. Куда уж нам смертным понять твой замысел. :(
не можешь рассказать словами - приведи пример исходных данных и результат всех манипуляций над ними в удобоваримом виде. И не стесняйся в своих сообщения использовать хоть и скудные, но вполне достаточные по выразительности оформительские средства движка форума...
6 июн 16, 16:52    [19263888]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Steven2006
Member

Откуда:
Сообщений: 29
Просьба воздержать от комментариев - "Нету ручек нет конфетки" и т.п.
подскажите хотябы каким методом пользоваться!?
6 июн 16, 16:52    [19263894]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Добрый Э - Эх
Guest
Steven2006,

если не понял с первого раза, говорю второй.
Никто не понял, что у тебя есть и что тебе нужно. Попробуй объяснить доступнее.
6 июн 16, 16:54    [19263907]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Elic
Member

Откуда:
Сообщений: 29976
Steven2006
подскажите хотябы каким методом пользоваться!?
RTFM
6 июн 16, 16:56    [19263923]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Steven2006
Просьба воздержать от комментариев - "Нету ручек нет конфетки" и т.п.
подскажите хотябы каким методом пользоваться!?

получите
select tname
      ,case (select count(*) 
               from col b 
              where b.tname=a.tname)
       when 1 then 'один'
       else        'много' 
        end as blabla
  from tab a;

бухгалтеров на пионЭров замените сами
6 июн 16, 17:01    [19263952]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Steven2006
Member

Откуда:
Сообщений: 29
Добрый Э - Эх
Steven2006,

если не понял с первого раза, говорю второй.
Никто не понял, что у тебя есть и что тебе нужно. Попробуй объяснить доступнее.


Не обновляя страницу, написал комент, сейчас разберусь как тут таблицу делать и постараюсь объяснить понятнее
6 июн 16, 17:06    [19263980]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Steven2006
Member

Откуда:
Сообщений: 29
вложил картинку, Tab1 и Tab 2, существуют.

Нужно проинсёртить данные в Tab3. схематично нарисовал
Картинка с другого сайта.

http://filecloud.me/0yzed4d0lqec.html

К сообщению приложен файл. Размер - 32Kb
6 июн 16, 17:32    [19264124]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1637
Уважением к сообществу является пример исходных и конечных данных, а не картинка.

Глядишь, при подготовке test кейса что и сам поймешь.

drop table tab1;
create table tab1 (id number, num varchar2(100));

insert into tab1 values(1, '001');
insert into tab1 values(2, '012');
insert into tab1 values(3, '0123');

drop table tab2;
create table tab2 (id number, text varchar2(100));

insert into tab2 values(2, '0123');
insert into tab2 values(3, '0123');
insert into tab2 values(5, '55555');


select tab1.id, tab2.id, nvl(tab1.num, 'нету, на*уй, в таб1') num1, nvl(tab2.text, 'нету, бл*ть, в таб2') num2
  from tab1 full join tab2 on tab1.id = tab2.id
 order by tab1.id
6 июн 16, 18:10    [19264387]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
dmdmdm,

select T2.AGREEMENT_NUMBER AN, T2.BI_ID, T1.X_MTS_INTEGRATION_ID
FROM T2 JOIN T1 ON T2.AGREEMENT_NUMBER=T1.QU_NUM AND T2.BI_ID<>T1.X_MTS_INTEGRATION_ID

Так?
7 июн 16, 06:46    [19265434]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
dmdmdm,

Пардон, не вам, автору, не туда ткнула.

Steven2006, так?
7 июн 16, 06:49    [19265437]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
не устаю удивляться студням последних лет
хоть бы единственное "пожалуйста" где-нибудь вписал ради приличия..
ппц..
7 июн 16, 10:49    [19266057]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Rinka777
Member

Откуда:
Сообщений: 668
Совершенно не понятно одно. Зачем в 3 таблицу толкать такую не логичную разнородную информацию.
NUM Y_ID(если ЕСТЬ в Tab2) - 1 запись N_ID(если НЕТ в Tab2) -100 000 000 записей. и чего?
7 июн 16, 15:05    [19267475]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Steven2006
Member

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

Да, спасибо огромное!
7 июн 16, 16:54    [19268007]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в запросе  [new]
Steven2006
Member

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

Это промежуточная таблица
7 июн 16, 16:55    [19268011]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить