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

Откуда:
Сообщений: 38
Вот такая ситуация: есть две таблицы А и B, нужно сформировать третью, содержащую все строки, которые имеются в первой таблице (А), во второй таблице (В) или в обеих этих таблицах одновременно.(теория множеств). Не могу сделать, так как думаю что таблицы не совместимы, то есть имеют разную структуру. Помогите плиииз =)
23 ноя 11, 15:40    [11645528]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
ALocky
Member

Откуда: Понаехал из Подмосковья
Сообщений: 747
natik_90,
create table ab as
select a1, a2, a3, null b1, null b2, null b3
from  a
union all
select null a1, null a2, null a3, b1, b2, b3
from  b
23 ноя 11, 15:56    [11645725]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
stax..
Guest
natik_90,
приведите пример табличек A и Б
и шо надо поручить в результате

.....
stax
23 ноя 11, 18:50    [11647672]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
natik_90
Member

Откуда:
Сообщений: 38
stax..,

Приложила файлик с структурой таблиц, посмотрите и нужно создать новую таблицу ,содержащую и поля табл shapka и поля талицы pozic, только чтобы они не повторялись..можно конечно вручную определить, но учитывая большое кол—во полей в обеих тэблах хочется командой скл это сделать)

К сообщению приложен файл (структура 2 таблиц.txt - 9Kb) cкачать
24 ноя 11, 10:27    [11649664]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
natik_90
Member

Откуда:
Сообщений: 38
ALocky,
наверн неправильно поставила вопрос..этот код думаю не подойдет..(
24 ноя 11, 10:29    [11649670]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
ALocky
Member

Откуда: Понаехал из Подмосковья
Сообщений: 747
natik_90
учитывая большое кол—во полей в обеих тэблах хочется командой скл это сделать

Не ленись, юзай копипаст :)
24 ноя 11, 10:33    [11649679]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54383
natik_90,

а ты уверена, что тебе НУЖНА третья таблица?
24 ноя 11, 11:04    [11649881]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
natik_90
Member

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

Да нужна, мне потом после объединения таблиц,нужно пересечение этих же таблиц сделать,ааа потом вычитание, декартово произведение и т.д.) по ТЕОРИИ МНОЖЕСТВ))
24 ноя 11, 11:24    [11650009]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
natik_90
Вот такая ситуация: есть две таблицы А и B, нужно сформировать третью, содержащую все строки, которые имеются в первой таблице (А), во второй таблице (В) или в обеих этих таблицах одновременно.(теория множеств). Не могу сделать, так как думаю что таблицы не совместимы, то есть имеют разную структуру. Помогите плиииз =)

попробуйте сформулировать (вслух) критерий, по которому вы идентифицируете что такая то строка в таблице А имеется в таблице Б.
иначе лишь останется признать, что элементы из множеств с разной структурой не пересекаются
24 ноя 11, 13:00    [11650802]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
stax..
Guest
natik_90
stax..,

Приложила файлик с структурой таблиц, посмотрите и нужно создать новую таблицу ,содержащую и поля табл shapka и поля талицы pozic, только чтобы они не повторялись..можно конечно вручную определить, но учитывая большое кол—во полей в обеих тэблах хочется командой скл это сделать)

я имел ввиду не реальные таблички, а смоделировать пример на табличках с меньшим к-вом
полей и с данными (можно через WITH)

по структурах табличек не ясно шо и как обеденять и главное непонял что в результате получить

так как таблички достаточно сильно проиндексированы мож и не нужна Вам третья табличка, напр создайте вью (или вообще с А и Б) работайте для разных задач

если колонок много (и лень набивать) можно сформировать список программно напр
  1  select LISTAGG('a.'||column_name, ',') WITHIN GROUP (ORDER BY COLUMN_ID)  c
  2* from user_tab_columns where TABLE_NAME='EMP'
SQL> /

C
--------------------------------------------------------------------------------
a.EMPNO,a.ENAME,a.JOB,a.MGR,a.HIREDATE,a.SAL,a.COMM,a.DEPTNO


.....
stax
24 ноя 11, 15:27    [11652286]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите..  [new]
natik_90
Member

Откуда:
Сообщений: 38
спасибо)
29 ноя 11, 15:28    [11678509]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить