Oracle では、||を使用して、複数の列の個別の値の数を取得できます。オペレーター(とにかく、このフォーラムの投稿によると):
SELECT COUNT(DISTINCT ColumnA || ColumnB) FROM MyTable
SQL Server 2008 でこれを行う方法はありますか? グループ統計を返すために単一のクエリを実行しようとしていますが、それができないようです。
たとえば、クエリしようとしている値のテーブルを次に示します。
AssetId MyId TheirId InStock
328 10 10 1
328 20 20 0
328 30 30 0
328 40 10 0
328 10 10 0
328 10 10 0
328 10 10 0
328 10 10 0
AssetId #328 について、MyId 列と TheirId 列の一意の ID の総数( 4 = 10、20、30、40 ) と、 InStock列のゼロ以外の行の総数(1 ):
AssetId TotalIds AvailableIds
328 4 1
どういうわけかこの魔法を働かせる方法はありますか?