0

製品の高さに基づいて返品結果を設定しようとしています。積が 86 より大きい場合、結果セットと一緒にトランサムを返します。

以下の CASE WHEN を使用して結果を評価しようとしていますが、実装が正しくありません。

    SELECT c.ID, 
        (p.Number +'|'+ pr.[Profile] +'|'+ SUBSTRING(CAST((p.Width - (pr.Siteline * 2))AS VARCHAR(9)),0,3)  
        + 'x84' +'|Pivot:'+e.PivotType+'|Hinge:'+e.Hinged +'|Swing:'+e.Swing) as [Name],
        ('Header:'+ CAST(pr.Siteline as VARCHAR(7))+'|Jamb:'+ CAST(pr.Siteline as VARCHAR(7)))as[Sitelines],

       CASE p.Height 
            WHEN > 86 THEN 'Transom'
            ELSE 'No Transom'

FROM            Generic.Part           p WITH(NOLOCK)                          JOIN
                Generic.Profiles      pr WITH(NOLOCK) ON p.ProfileID = pr.ID   JOIN
                Generic.ComponentPart cp WITH(NOLOCK) ON cp.PartID   = p.ID    JOIN
                Generic.Component      c WITH(NOLOCK) ON cp.ComponentID = c.ID JOIN
                Generic.ComponentType ct WITH(NOLOCK) ON ct.ID = c.ComponentTypeID JOIN
                Generic.FramingSystem fs WITH(NOLOCK) ON fs.ID = c.FrameSystemID   JOIN
                Generic.Entrance       e WITH(NOLOCK) ON c.ID = e.DoorFrameID
                WHERE fs.UserID = 'DA91DC34-FA29-4ABD-BCC0-xxxxxxxxxxxx'
4

2 に答える 2

4

実際のエラーが何であるかは言いませんが、試してください:

CASE
    WHEN p.Height > 86 THEN 'Transom'
    ELSE 'No Transom'
END AS [ColumnName]
于 2013-10-23T22:38:30.037 に答える