Создайте таблицы, СОЕДИНЯЯ две таблицы, используя третью - PullRequest
1 голос
/ 19 августа 2011

У меня есть три таблицы:


ТАБЛИЦА 1 (7,7 миллиона записей)

ID_1|..|..| OTHER FIELDS|


ТАБЛИЦА 2 (8,2 миллиона записей)

ID_2 |..|..|.....


ТАБЛИЦА 12 (7,5 млн записей)

ID_1| ID_2 | SOMEFIELDS| И ID_1== ID_2.i.e. содержит все общие ids

table 12 содержит уникальные ids, общие для table 1 и 2.Я пытаюсь создать новую таблицу, чтобы получить все данные из t1 и t2 путем сопоставления записей в t12 с id_1,id_2).

Ниже приведен пример использования SQL:

CREATE TABLE ARROW_all_common12 AS 
SELECT T1.*, T2.* FROM T1, T2
LEFT JOIN T12 
ON T12.ID_1=T1.ID_1
LEFT JOIN T12
ON T12.ID_2 = T2.ID_2
WHERE T12.ID2 = T2.ID_2

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

Я не совсем уверен, что вы спрашиваете здесь, но, возможно, вид может быть то, что вы ищете?

CREATE VIEW someview AS (
    SELECT t1.*, t2.*
    FROM table12 AS t12
    INNER JOIN table1 AS t1
        ON t1.id_1 = t12.id1
    INNER JOIN table2 AS t2
        ON t12.id_2 = t2.id_2
)
0 голосов
/ 19 августа 2011

тоже самое, не совсем понятно.может быть что?

create table t_all_12 as (
      select t1.*, t2.* 
      from t1, t2, t12
      where t12.id_1 = t1.id_1
      and t12.id_2 = t1.id_2
)
...