私は2つのテーブルdt1とdt2を持っています。
私はDT1内のデータを検索するが、いくつかの列に基づいてDT2には一致しない。(動的)LINQ:2つのデータテーブルを動的キーで結合する方法
私が把握方法は、2つのテーブルを結合し、その列がNULL値を持つものを見つける残されています。
しかし、問題はどのように動的列番号でそれらを結合できますか。
たとえば、最初はN列で結合したいが、dt2の列の1つが空またはnullの場合は、N-1列の残りの列と結合したい。例えば
:
DT1:
ColA, ColB, ColC, ColD
1A 1B 1C 1D
2A 2B 2C 2D
3A 3B 3C 3D
4A 4B 4C 4D
DT2:
ColAA ColBB ColCC, ColE
1A 1B null 1E
2A 2X null 2E
3A 3B 3C 3E
null null 4C 4E
dt1 left join dt2 by ColA=ColAA, ColB=ColBB and ColC=ColCC
それらのいずれかがnullの場合、残りの列に加わります。
期待される結果:
ColA, ColB, ColC, ColD, ColE
1A 1B 1C 1D 1E
2A 2B 2C 2D null
3A 3B 3C 3D 3E
4A 4B 4C 4D 4E
コールにNULL値を持つデータは、私が欲しいものである(図2A、2B、2C、2D、ヌル)
今のみ固定列によってそれらを結合することができる、方法。上記のシナリオを達成できますか?
ありがとうございます。
行1と行2のデータは同じです。しかし、なぜ期待される結果では、行1と行2が異なるのでしょうか? Row 2のColEがnullであるため? – Mark
データがない場合は、それに参加できません。何らかの形の一貫性が必要です。それ以外の場合は、長期的には大きな問題を作成します。 –
すべての行にColCC列がNULLの場合はどうなりますか?すべての行には、nullまたは値で埋められた同じ列があります。しかし、私はどの列が実行時までヌルになるのかわかりません。たとえば、ラウンド1では、ColCCはすべての行でnullになり、ラウンド2ではColAAとColBBがすべての行でNULLになることがあります。 –