1

Access DB を使用して生成した次のコードがあります。T-SQL に変換する必要があります。主に IIF ステートメントでエラーが発生しています。

SELECT dbo.casyAgeGroups.Sequence, dbo.casyAgeGroups.Description, 
Sum(IIf([gender]='Male' And [age]>=[startage] And [age]<=[endage],1,0)) AS Male, 
Sum(IIf([gender]='Female' And [age]>=[startage] And [age]<=[endage],1,0)) AS Female

 FROM dbo.casyAgeGroups, [qryStats-AgeGenderProfileDetails]
GROUP BY dbo.casyAgeGroups.Sequence, 
         dbo.casyAgeGroups.Description, 
         [qryStats-AgeGenderProfileDetails].EntityType
HAVING ((([qryStats-AgeGenderProfileDetails].EntityType)=0));
4

2 に答える 2

0

CASE ステートメントを利用する

何かのようなもの

SELECT  dbo.casyAgeGroups.Sequence, 
        dbo.casyAgeGroups.Description, 
        Sum(CASE WHEN [gender]='Male' And [age]>=[startage] And [age]<=[endage] THEN 1 ELSE 0 END) AS Male, 
        Sum(CASE WHEN [gender]='Female' And [age]>=[startage] And [age]<=[endage] THEN 1 ELSE 0 END)) AS Female
FROM    dbo.casyAgeGroups, 
        [qryStats-AgeGenderProfileDetails]
GROUP BY    dbo.casyAgeGroups.Sequence, 
            dbo.casyAgeGroups.Description, 
            [qryStats-AgeGenderProfileDetails].EntityType
HAVING  [qryStats-AgeGenderProfileDetails].EntityType=0
于 2013-08-14T11:33:40.310 に答える