我们有下表,其中包含deviceId
和customerPrefix
列。
tblDeviceInfo:
deviceId customerPrefix
1 ABC
2 XYZ
基于客户前缀,我们也有设备表,我在下面只列出了 2 个,但是我们有太多的,上面的 tblDeviceInfo 表可以包含许多不同的客户前缀,我知道这是一个不好的做法,但这就是我们在时刻,我们必须暂时使用它。
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 用动态 sql 取回所有东西
@sql = 'Select deviceId, customerPrefix From tblDeviceInfo i
INNER JOIN tblDevice' + d.customerPrefix + ' d ON d.deviceId = i.deviceId'
这不太正确,但无论如何可以通过动态 sql 或任何其他方式实现这一点?
谢谢