Как объединить 8 стол в оракуле? - PullRequest
0 голосов
/ 13 января 2011

Привет, у меня есть почти 8 таблиц, где мне нужно присоединиться и получить полный результат. Пожалуйста, помогите мне с этим. У меня есть сомнения, что мы можем использовать вместо объединений.

Ответы [ 3 ]

1 голос
/ 12 июля 2012

Если у вас 8 названных таблиц:

a having id and data1 attributes.
b having id and data2 attributes.
c having id and data3 attributes.
d having id and data4 attributes.
e having id and data5 attributes.
f having id and data6 attributes.
g having id and data7 attributes.
h having id and data8 attributes.

Тогда, если вы хотите показать данные всех таблиц:

sql>select a.data1,b.data2,c.data3,d.data4,e.data5,f.data6,g.data7,h.data8 from a,b,c,d,e,f,g,h where a.id=b.id and b.id=c.id and c.id=d.id and d.id=e.id and e.id=f.id and f.id=g.id and g.id=h.id;
0 голосов
/ 13 января 2011

соединение по стольким таблицам вполне возможно, но может быть трудно читать.Возможно, было бы лучше создать несколько представлений для подзапросов и присоединиться к ним, либо использовать подзапросы внутри основного запроса и просто использовать это.SQL, конечно, будет довольно длинным, но его будет легче читать.

0 голосов
/ 13 января 2011

Вы можете объединить восемь таблиц, в спецификации SQL нет ничего, что бы запрещало это, и я был бы очень удивлен, если бы достойная СУБД была ограничена этим уровнем. И да, несмотря на невозможность определить разницу между пустой строкой и NULL, многие do считают Oracle достойным: -)

Однако я бы посоветовал вам опубликовать свою схему и какие столбцы вам нужны, чтобы мы могли помочь вам с более высокого уровня.

Даже в корпоративных базах данных такое сложное соединение встречается относительно редко. Также существует вероятность проблем с производительностью для такого запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...