是否可以使用临时表左外连接普通表?

时间:2013-07-20 06:19:14

标签: sql sql-server join

我创建SQL服务器查询并且具有带记录的普通表,另一方面具有带记录的临时表,并且该表不为空且所有字段都没有任何冲突 加入

可以加入这两个不同类型的表吗?

SELECT NormalTable.Entityname  FROM NormalTable LEFT JOIN 
       #Temp tmp ON tmp.joinID = NormalTable.joinID

1 个答案:

答案 0 :(得分:1)

  

可以加入这两个不同类型的表吗? (正常和临时)

是的,可以加入不同类型的表(永久表和临时表)。加入这些表没有不同的语法。

E.g。

永久表:

CREATE TABLE NormalTable
    ([plateno] varchar(1), [JoinID] int)
;

INSERT INTO NormalTable
    ([plateno], [JoinID])
VALUES
    ('A', 1),
    ('B', 2),
    ('C', 2),
    ('A', 3),
    ('B', 2),
    ('A', 4),
    ('A', 1)
;

临时表:

CREATE TABLE #Temp
    ([id] int, [date] date, [score] int)
;

INSERT INTO #Temp
    ([id], [date], [score])
VALUES
    (1, '2013-04-13', 100),
    (2, '2013-04-14', 92),
    (3, '2013-04-15', 33)
;

加入两个表:

SELECT N.* FROM NormalTable N
LEFT JOIN #Temp T ON N.JoinID = T.ID

查看this SQLFiddle