0

2 つのテーブルで結合を実行しようとしています。1 つのテーブルには従業員情報が含まれ、もう 1 つのテーブルには学位情報が含まれます。従業員テーブルの SSN のデータ型は varchar で、ハイフンが含まれています。ただし、度表の SSN のデータ型は整数で、ハイフンは含まれません。SSN は、2 つのテーブルをリンクするために使用する必要があるものです。この設定で結合するにはどうすればよいですか?

4

1 に答える 1

1

最善の解決策は、文字列を整数に変換することだと思います:

select <whatever>
from employee e join
     degree d
     on e.ssn = cast(replace(d.ssn, '-', '') as int)

キーの変換は、おそらくインデックスが使用されないことを意味することに注意してください。おそらく、どちらか一方のデータ型を一貫した形式に変更する必要があります。

于 2012-05-06T04:31:21.723 に答える