私はcase文を実行し、結果をグループ化し、SQLクエリで結果を数え上げる必要があります。私は今のところこれを実行しますが、それは正常に動作して取得する方法がかなり確実でなかった。SQL Case Statement COUNT
SELECT 'OS' =
CASE
WHEN OS.Info LIKE 'AIX %' THEN 'Unix'
WHEN OS.Info LIKE 'LINUX%' THEN 'Unix'
END, COUNT('OS')
FROM Asset A (NOLOCK)
LEFT JOIN Asset_IP AIP (NOLOCK) ON A.AssetID = AIP.AssetID AND AIP.LastUpdateDate = (SELECT MAX(Asset_IP.LastUpdateDate) FROM Asset_IP (NOLOCK) WHERE A.AssetID = Asset_IP.AssetID)
LEFT JOIN Asset_IP_OS AIPOS (NOLOCK) ON AIP.AssetIPID = AIPOS.AssetIPID
LEFT JOIN OSNav OS (NOLOCK) ON AIPOS.OSNavID = OS.OSNavID
GROUP BY OS.Info
ORDER BY OS.Info
OSはAIX 7.0またはAIX 7.2またはLinux 2.3またはWindows 7またはSolaris 10のすべてのUNIXベースとして出てくることがありあなたはGroup By
でCASE
ステートメントを使用するか、group by
にエイリアス名OS
を使用するように派生テーブルを使用する必要が
OS Count
Unix 200
Windows 1200
は、これをチェックしてください.sentryone.com/aaronbertrand/bad-habits-nolock-anywhere/ –