私は2つのテーブルを持っていてrawtable
、tradetable
生テーブル
rawid companyname uniqueID
1 AAA-XA 9CV
2 BBB-DEMO 10K
3 CCC-XOXO 7D
取引可能
tradeid securityname CUSIP
1 AAACOMP 9CV
2 BBBCOMP 10K
今、私が必要としているのはcompanyname
、fromrawtable
が少し混ざっているので、会社名としてsecurityname
fromを使用する必要があるtradetable
ため、LEFT JOIN を使用しました
declare DataSourceId = 3;
SELECT DISTINCT
@DataSourceId,
dbo.CleanText(tradetable.securityname)
FROM tradetable
LEFT JOIN
(
SELECT DISTINCT
companyname,
uniqueID
FROM
rawtable
) rawtable ON tradetable.cusip = rawtable. uniqueID
これは私にnames
fromを与えますtradetable
が、ここでは from の新しい一致しない名前を見逃すでしょうが、rawtable
それらの名前も欲しいのですが、select ステートメントで
私が使用する場合
declare DataSourceId = 3;
SELECT DISTINCT
@DataSourceId,
dbo.CleanText(rawtable.securityname) --instead of tradetable
次に、間違った混合名を選択します
では、どうすればこの問題を解決できますか? または別の場所から、好きなように正しい名前を実行する必要がありますtradetable
securityname
私が期待した出力:
生テーブル
companyname uniqueID
AAA-XA 9CV
BBB-DEMO 10K
CCC-XOXO 7D
取引可能
securityname CUSIP
AAACOMP 9CV
BBBCOMP 10K
I WANT Asecurityname
つまりcompanyname
、一致しているかどうかを確認している適切な形式で、からuniqueID
取得securityname
しますtradetable
今
追加のレコードがrawtable
あるCCC_XOXO
場合、実際の名前はそうかもしれませんCCC
ので、3番目のテーブルにある場所CCC
から取得する必要CCC
がありますか、それとも他の方法はありますか?
その3番目のテーブルをJOINにもインポートする必要があることを意味しますか?