У меня есть таблица со структурой, такой как таблица (PK, a, b, c, d, e, f, g).SQL-соединение по многим запросам
И у меня есть много вопросов, которые я хочу присоединиться:
select PK, sum(c) where...
JOIN
select PK, sum(e) where...
JOIN
select PK, sum(g) where ...
JOIN
select PK,a,b,d,f
Каждой суммы (с | е | г) на самом деле
select sum(c|e|g) from .... where...
, потому что есть много условий, участвующих (не все c | e | g должны быть добавлены)
Это лучший способ сделать это? Мне предложили написать его в PL/SQL, который мне нужно будет изучить. Если это будет способ, я сделаю это, но я не уверен, что случилось с решением, показанным выше.
Редактировать
Im очень уверенный в себе. Вот что я хочу.
мне нужно, чтобы получить результирующий набор в виде:
PK, a,b,COMPLEX_SUM_ON_C,d,COMPLEX_SUM_ON_D,f,COMPLEX_DUM_ON_G
, так что я думал о присоединении много запросов, чтобы получить этот результат.
Каждый из COMPLEX ... - другой выбор (выберите сумму ...). Это очень большой стол, и писать
select a,b,(select sum..),d,(select sum...),f,(select sum...)
даст плохую производительность (так мне сказали, чтобы удалить его)
Я отредактировал мой вопрос выше.
Заранее благодарен.
Вы уверены, что не имеете в виду союз? – erikkallen
Пожалуйста, покажите образцы строк из таблицы ввода и желаемого вывода. Как указывали другие, неясно, хотите ли вы СОЕДИНЕНИЕ или СОЮЗ. Кроме того, у вас может возникнуть существенная проблема с дизайном вашей таблицы (в зависимости от того, как выглядят данные). –
Трудно ответить на этот вопрос, не зная, какие результаты вы ожидаете получить от этого запроса. Я предлагаю вам быстро посмотреть здесь: http://en.wikipedia.org/wiki/Join_%28SQL%29, чтобы узнать, действительно ли это ОБЪЕДИНЕНИЕ, которое вы хотите. –