2017-07-06 1 views
0

Database Table ブール値を数える特定の条件に基づいて

親愛なるすべては、SQL Serverの2016データベースのテーブルです。私はAssetTypeIDの条件に基づいて真とフラッシングの値に対してIsAssetIssued列のカウントを取得したいと考えています。私は試しています

SELECT COUNT(IsAssetIssued) AS AvlAssets 
FROM AssetStatus 
WHERE (IsAssetIssued = True) 
    AND (AssetTypeID = 1) 

しかし、これは正確な結果を提供していません。より良い解決策を提案してください。

ありがとう、

+0

あなたの期待する結果は何ですか? 'Where'句の' True'は*一重引用符で囲む必要があります* –

+0

WHERE句で明示的に 'False'値をフィルタリングしています。だから、あなたはこれらの行に関する結果を得ることはありません。 – strickt01

答えて

0

これを試してください。

SELECT COUNT(IsAssetIssued) AS AvlAssets ,IsAssetIssued 
FROM AssetStatus 
WHERE (AssetTypeID = 1) 
group by IsAssetIssued 
+0

親愛なる..このステートメントは、AssetTypeIDの基準に基づいてtrueまたはfalseまたは1または0の値を数えていません。私がしたいのは、IsAssetIssued列の値をtrueまたはfalse、またはwhere条件に1または0を数えることです。 – Ghaffar

0

あなたの人々は私がログインする助けあなたの助けのために、この

SELECT AssetTypeID,IsAssetIssued FROM 
(
SELECT AssetTypeID,IsAssetIssued, 
COUNT(IsAssetIssued) OVER(Partition by AssetTypeID Order by AssetTypeID)AS AvlAssets , 
ROW_NUMBER()OVER(Partition by AssetTypeID Order by AssetTypeID) AS Seq 
FROM AssetStatus 
)Dt 
WHERE Dt.Seq=1 
+0

貴重なご奉仕をさせていただきありがとうございます。非常に正直であると、私は初心者であり、それは高度に見えるので、私はあなたの質問を理解することができません。 AssetStatus WHERE(AssetTypeID = 1)からCOUNT(IsAssetIssued)AS AvlAssets を選択します。私はasp.netページから提供している動的なAssetTypeID値に基づいてIsAssetIssued列の真または偽の値を数えることによって利用可能な残高を得るように変更したい – Ghaffar

0

感謝を試してみてください。クエリに少しの変更しかありません。つまり、IsAssetIssuedの値をfalseに固定し、AssetTypeIDを動的に設定します。

SELECT COUNT(IsAssetIssued)AS AvlAssetsからAssetStatus WHERE(IsAssetIssued = 'False')AND(AssetTypeID = 1);

それは完全に働いた。

関連する問題