将 MS SQL 查询转换为 Informix 查询

Convert an MS SQL Query to an Informix Query

我目前正在尝试将以下 MS SQL 查询转换为 Informix,但我不确定如何。

SELECT     NumPlan.DNOrPattern, Device.Name, DeviceNumPlanMap.Display, TypeModel.Name AS Model, DeviceNumPlanMap.NumPlanIndex, 
                      Device.AddOnModules
FROM         DeviceNumPlanMap INNER JOIN
                      Device ON DeviceNumPlanMap.fkDevice = Device.pkid INNER JOIN
                      NumPlan ON DeviceNumPlanMap.fkNumPlan = NumPlan.pkid INNER JOIN
                      TypeModel ON Device.tkModel = TypeModel.Enum
WHERE     (TypeModel.Enum <> '10') AND (TypeModel.Enum <> '12') AND (TypeModel.Enum <> '120') AND (TypeModel.Enum <> '90') AND 
                      (TypeModel.Enum <> '73') and (TypeModel.Enum <> '72') and (TypeModel.Enum <> '80') AND (DeviceNumPlanMap.NumPlanIndex = '1') ORDER BY NumPlan.DNOrPattern, DeviceNumPlanMap.NumPlanIndex

如能提供有关如何将其转换为 Informix 查询的任何帮助,我们将不胜感激。

在任一数据库中,我会将此查询写为:

SELECT np.DNOrPattern, d.Name, npm.Display, tm.Name AS Model, npm.NumPlanIndex, 
       d.AddOnModules
FROM DeviceNumPlanMap npm INNER JOIN
     Device d
     ON npm.fkDevice = d.pkid INNER JOIN
     NumPlan p
     ON npm.fkNumPlan = p.pkid INNER JOIN
     TypeModel tm
     ON d.tkModel = tm.Enum
WHERE tm.Enum NOT IN ('10', '12', '120', '90', '73', '72', '80') AND   
      npm.NumPlanIndex = '1'
ORDER BY np.DNOrPattern, npm.NumPlanIndex;

如果EnumNumPlanIndex的数据类型不是字符串,则去掉单引号。

这应该适用于任一数据库。但是,我认为您的原件也应该如此。