基于视图联接两个表,sql

时间:2019-01-03 22:10:05

标签: mysql sql

我有以下sql情况

Table1
 id name

Table2
 id name

_Table1ToTable2
 id, id_table1, id_table2

Result:
 id, name, table2_name, table2_id

我想将Table1和Table2连接到一个查询中,但是我找不到一种在它们之间进行连接的方法,有什么想法吗?

3 个答案:

答案 0 :(得分:0)

如果表1和表2之间没有关系,

select table1.id, table1.name, table2.id, table2.name from
table1, table2

如果table1和table2与ID相关联,

select  table1.id, table1.name, table2.id, table2.name from
table1
inner join table2
  on table1.id = table2.id

答案 1 :(得分:0)

如果您打算从两个表中检索包含id列的所有可能组合的结果集,则可以执行以下操作:

select id = identity (int, 1, 1), * into #a from (select distinct table1. id as id1, table2. id as id2 from table1 cross apply table2) d; select * from #a; drop table #a

如果您不希望使用临时表,则可以使用row_number()函数的某些变体。

由于您的问题缺乏上下文,上述内容解决了一个假定的要求。详细说明您的要求,我们将为您提供更相关,更详细的答案。

答案 2 :(得分:0)

似乎您想使用桥表Table1ToTable2来联接Table1Table2。只需2个INNER JOIN即可完成:

SELECT
    tt.id AS tt_id,
    t1.id AS t1_id,
    t1.name AS t1_name,
    t2.id AS t2_id,
    t2.name AS t2_name
FROM
    Table1ToTable2 AS tt
    INNER JOIN Table1 AS t1
        ON t1.id = tt.id_table1
    INNER JOIN Table2 AS t2
        ON t2.id = tt.id_table2