【问题标题】:Is it possible to Left outer join normal table with temp table?是否可以将普通表与临时表左外连接?
【发布时间】:2013-07-20 06:19:14
【问题描述】:

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

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

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

【问题讨论】:

  • 是的,你遇到了什么问题?
  • 那就是返回无效的对象名称错误
  • 显示两个表的数据结构。

标签: sql sql-server join


【解决方案1】:

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

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

例如

永久表:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 2011-06-12
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    相关资源
    最近更新 更多