-1

如何在 SQL Server 2008R2 中编写 SQL 语句来连接有空间的列上的两个表?我收到错误“将数据类型 varchar 转换为数字时出错”。

例如表 1

[id | value | t2id]
  1 |   a   |  1
  2 |   b   |  
  3 |   c   |  2

表2

[id | value]
  1 |   d
  2 |   e
  3 |   f

结果

[id | value | t2id | id | value]
  1 |   a   |  1   |  1 |   d
  2 |   b   |      |null| null
  3 |   c   |  2   |  2 |   e

它是一个左连接,用于显示 Table1 中的所有值,但 t2id 列具有来自 Table2 的 id 和空格。直接加入这两个表给了我上述错误。

谢谢

4

1 回答 1

0

您可以使用以下查询 -

SELECT *
  FROM Table1, Table2
 WHERE Table1.T2id = Table2.Id
   AND Table1.T2id IS NOT NULL
UNION
SELECT Table1.*, NULL, NULL FROM Table1 WHERE Table1.T2id IS NULL
于 2013-05-21T09:45:48.653 回答