/*
* Disclaimer!!!
* This is not a real query being executed, but a simplified version for general vision.
* Executing it with any other tool may produce a different result.
*/
select
[PcConData].[TypeCode] as [PcConData_TypeCode],
[PcConData].[Key1] as [PcConData_Key1],
[PcConData].[Key2] as [PcConData_Key2],
[PcConData].[Key3] as [PcConData_Key3],
[PcConData].[Key4] as [PcConData_Key4],
[PcConData].[Character01] as [PcConData_Character01],
[PcConData].[ShortChar01] as [PcConData_ShortChar01],
[PcConData].[Number01] as [PcConData_Number01],
[PcConData].[ShortChar02] as [PcConData_ShortChar02],
[PcConData].[Number02] as [PcConData_Number02],
[PcConData].[Number04] as [PcConData_Number04],
[PcConData].[Number05] as [PcConData_Number05],
[PcConData].[Number06] as [PcConData_Number06],
[SubQuery2].[PartUOM1_ConvFactor] as [PartUOM1_ConvFactor],
[SubQuery2].[Part_PartLength] as [Part_PartLength],
[SubQuery2].[Part_PartWidth] as [Part_PartWidth],
[SubQuery2].[Part_PartHeight] as [Part_PartHeight],
(convert(decimal(10,5), PcConData.Key2)) as [Calculated_BlMin],
(convert(decimal(10,5), PcConData.Key3)) as [Calculated_BLMax],
(case
when PcConData.ShortChar01 = '<' and @ScreenWidth < PcConData.Number01 then 1
when PcConData.ShortChar01 = '>' and @ScreenWidth > PcConData.Number01 then 1
when PcConData.ShortChar01 = '<=' and @ScreenWidth <= PcConData.Number01 then 1
when PcConData.ShortChar01 = '>=' and @ScreenWidth >= PcConData.Number01 then 1
when PcConData.ShortChar01 = '<>' and @ScreenWidth <> PcConData.Number01 then 1
when PcConData.ShortChar01 = '=' and @ScreenWidth = PcConData.Number01 then 1
when PcConData.ShortChar01 = '==' and @ScreenWidth = PcConData.Number01 then 1
else 0
end) as [Calculated_Condition1],
(case
when PcConData.ShortChar02 = '<' and @ScreenWidth < PcConData.Number02 then 1
when PcConData.ShortChar02 = '>' and @ScreenWidth > PcConData.Number02 then 1
when PcConData.ShortChar02 = '<=' and @ScreenWidth <= PcConData.Number02 then 1
when PcConData.ShortChar02 = '>=' and @ScreenWidth >= PcConData.Number02 then 1
when PcConData.ShortChar02 = '<>' and @ScreenWidth <> PcConData.Number02 then 1
when PcConData.ShortChar02 = '=' and @ScreenWidth = PcConData.Number02 then 1
when PcConData.ShortChar02 = '==' and @ScreenWidth = PcConData.Number02 then 1
else 0
end) as [Calculated_Condition2]
from Erp.PcConData as PcConData
left outer join (select
[PartUOM1].[Company] as [PartUOM1_Company],
[PartUOM1].[PartNum] as [PartUOM1_PartNum],
[PartUOM1].[UOMCode] as [PartUOM1_UOMCode],
[PartUOM1].[ConvFactor] as [PartUOM1_ConvFactor],
[PartUOM1].[Active] as [PartUOM1_Active],
[PartUOM1].[TrackOnHand] as [PartUOM1_TrackOnHand],
[PartUOM1].[NetVolume] as [PartUOM1_NetVolume],
[PartUOM1].[NetVolumeUOM] as [PartUOM1_NetVolumeUOM],
[PartUOM1].[HasBeenUsed] as [PartUOM1_HasBeenUsed],
[PartUOM1].[ConvOperator] as [PartUOM1_ConvOperator],
[PartUOM1].[WebUOM] as [PartUOM1_WebUOM],
[PartUOM1].[SysRowID] as [PartUOM1_SysRowID],
(isnull(PartUOM1.UOMCode, 'NULL')) as [Calculated_PClass],
[Part].[PartLength] as [Part_PartLength],
[Part].[PartWidth] as [Part_PartWidth],
[Part].[PartHeight] as [Part_PartHeight]
from Erp.PartUOM as PartUOM1
inner join Erp.Part as Part on
PartUOM1.Company = Part.Company
and PartUOM1.PartNum = Part.PartNum) as SubQuery2 on
isnull((LEFT(PcConData.Character01, charindex(' ', PcConData.Character01) - 1)),'aaaaaaaa') = SubQuery2.PartUOM1_PartNum
and ( SubQuery2.PartUOM1_UOMCode = 'Pieces' )
where (PcConData.TypeCode = @MetalTable)
and (PcConData.Key1 = @HkShape and (convert(decimal(10,5), PcConData.Key2)) <= @Backleg and (convert(decimal(10,5), PcConData.Key3)) >= @Backleg and ((case
when PcConData.ShortChar01 = '<' and @ScreenWidth < PcConData.Number01 then 1
when PcConData.ShortChar01 = '>' and @ScreenWidth > PcConData.Number01 then 1
when PcConData.ShortChar01 = '<=' and @ScreenWidth <= PcConData.Number01 then 1
when PcConData.ShortChar01 = '>=' and @ScreenWidth >= PcConData.Number01 then 1
when PcConData.ShortChar01 = '<>' and @ScreenWidth <> PcConData.Number01 then 1
when PcConData.ShortChar01 = '=' and @ScreenWidth = PcConData.Number01 then 1
when PcConData.ShortChar01 = '==' and @ScreenWidth = PcConData.Number01 then 1
else 0
end) = true and (case
when PcConData.ShortChar02 = '<' and @ScreenWidth < PcConData.Number02 then 1
when PcConData.ShortChar02 = '>' and @ScreenWidth > PcConData.Number02 then 1
when PcConData.ShortChar02 = '<=' and @ScreenWidth <= PcConData.Number02 then 1
when PcConData.ShortChar02 = '>=' and @ScreenWidth >= PcConData.Number02 then 1
when PcConData.ShortChar02 = '<>' and @ScreenWidth <> PcConData.Number02 then 1
when PcConData.ShortChar02 = '=' and @ScreenWidth = PcConData.Number02 then 1
when PcConData.ShortChar02 = '==' and @ScreenWidth = PcConData.Number02 then 1
else 0
end) = true ))
If I change this where (PcConData.TypeCode = @MetalTable)
to where (PcConData.TypeCode = 'Exact Same Value')
it works.
@MetalTable
gives a Bad SQL error.