次のようなデータがあります。
そして、PONo、PartNo、および TrinityID フィールドに値を含めてカウントし、次のようなデータを出力したいと考えています。
SQLでこのカウントを行うにはどうすればよいですか?
次のようなデータがあります。
そして、PONo、PartNo、および TrinityID フィールドに値を含めてカウントし、次のようなデータを出力したいと考えています。
SQLでこのカウントを行うにはどうすればよいですか?
select
Job_number, Item_code,
case when RTRIM(PONo) = '' or PONo is null then 0 else 1 end +
case when RTRIM(PartNo) = '' or PartNo is null then 0 else 1 end +
case when RTRIM(TrinityID) = '' or TrinityID is null then 0 else 1 end
as [Count]
from YourTable
これを試して:
select Job_Number = t.Job_Number ,
Item_Code = t.Item_Code ,
"Count" = sum( case ltrim(rtrim(coalesce( PONo , '' ))) when '' then 0 else 1 end
+ case ltrim(rtrim(coalesce( PartNo , '' ))) when '' then 0 else 1 end
+ case ltrim(rtrim(coalesce( TrinityID , '' ))) when '' then 0 else 1 end
)
from dbo.my_table t
group by t.Job_Number , t.Item_Code
テストされたすべてのフィールドがnullまたは空であるデータを除外する場合は、次のhaving
句を追加します。
having sum( case ltrim(rtrim(coalesce( PONo , '' ))) when '' then 0 else 1 end
+ case ltrim(rtrim(coalesce( PartNo , '' ))) when '' then 0 else 1 end
+ case ltrim(rtrim(coalesce( TrinityID , '' ))) when '' then 0 else 1 end
) > 0
簡単!