如何命名连接表查询的结果

时间:2014-07-24 16:03:18

标签: sql-server

我有两个表,并基于id对它们进行了内连接。现在我需要命名这个连接表。我怎么做?我想命名这个表的原因是因为我必须将这个结果表与其他一些表连接起来。

3 个答案:

答案 0 :(得分:0)

您创建了通常称为 relvar 的内容,而不是另一个表。您可以通过将它的SELECT定义放在子查询中来加入它:

SELECT
FROM (
  -- original join SQL
) t
INNER JOIN table2 on ...

答案 1 :(得分:0)

select * from (
    select * from TableA a join TableB b on a.id = b.a_id
) as p;

根据评论,似乎view可能正是您所寻找的:

create view MyView
as
select * from TableA a join TableB b on a.id = b.a_id; 

它不会列在表格中(而是在视图中),但它的行为就像你的sql编辑器中的表格一样。

答案 2 :(得分:0)

您可以使用子查询为join的结果创建别名。例如:

select  *
from    (
        select  *
        from    tbl1
        join    tbl2
        on      tbl1.id = tbl2.id
        ) as JoinAlias
join    tbl3
on      JoinAlias.id = tbl3.id

你经常可以在没有这样的alias的情况下做。例如,考虑第三个连接:

select  *
from    tbl1
join    tbl2
on      tbl1.id = tbl2.id
join    tbl3
on      tbl3.col1 = tbl1.col1
        and tbl3.col2 = tbl2.col2

如您所见,第三个join条件可以引用所有早期表格中的列。