と列を含む次のテーブルがdeviceId
ありcustomerPrefix
ます。
tblDeviceInfo:
deviceId customerPrefix
1 ABC
2 XYZ
顧客プレフィックスに基づいて、デバイス テーブルもあります。以下に 2 つだけリストしましたが、それらが多すぎて、上記の tblDeviceInfo テーブルに多くの異なる customerPrefix を含めることができます。これが悪い習慣であることはわかっていますが、これがしばらくの間、それを処理する必要があります。
tblDeviceABC
deviceId deviceName
1 NameABC1
2 NameABC2
tblDeviceXYZ
deviceid deviceName
1 NameXYZ1
2 NameXYZ2
tblDeviceInfo (かなりの数の行を含むことができます) を照会しているときに、次を取得できるようにしたいと考えています。
deviceId, deviceName, customerPrefix
1 NameABC1 ABC
2 NameXYZ1 XYZ
現在、tblDeviceInfo テーブルからすべてを取得し、(C# アプリで) ループを開始し、顧客のプレフィックスに基づいて関連するテーブルからデバイスの詳細を取得します。列の値に基づいてテーブルに結合する方法があるかどうか疑問に思っていました。動的SQLでこのように1つのSQLですべてを取り戻します
@sql = 'Select deviceId, customerPrefix From tblDeviceInfo i
INNER JOIN tblDevice' + d.customerPrefix + ' d ON d.deviceId = i.deviceId'
これはまったく正しくありませんが、動的SQLまたはその他の方法でこれを達成する方法はありますか?
ありがとう