-1

SQL Server 2008R2 で SQL ステートメントを作成して、スペースのある列で 2 つのテーブルを結合するにはどうすればよいですか? 「データ型 varchar を数値に変換中にエラーが発生しました」というエラーが表示されます。

例: Table1

[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 とスペースが含まれています。2 つのテーブルを直接結合すると、上記のエラーが発生しました。

ありがとうございました

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 に答える