0

これは私がこれまでに持っているものです:

SELECT p2.fullname[UploadedBy], p.fullname[UploadedTo]
from docexchange d (NOLOCK)

left join exchange_permissions r on r.file_id = d.id
inner join people p on r.people_id = p.id
inner join people p2 on d.upload_by_id = p2.id

where upload_date > '2013-05-21'

このクエリは約 8000 の結果を返します。ステートメントに追加DISTINCTすると、SELECT約 900 の結果が返されます。900 の結果を取得したいのですが、それらの結果がデータベースに表示された回数を示す別の列が必要です。

私はこれをやろうとしました:

Select p2.fullname, p.fullname, COUNT(DISTINCT p2.fullname + p.fullname)

しかし、それはエラーを返します:列 'people.fullname' は、集計関数または GROUP BY 句のいずれにも含まれていないため、選択リストでは無効です。

4

1 に答える 1

2

あなたが欲しいgroup by

SELECT p2.fullname as [UploadedBy], p.fullname as [UploadedTo], count(*)
from docexchange d (NOLOCK)

left join exchange_permissions r on r.file_id = d.id
inner join people p on r.people_id = p.id
inner join people p2 on d.upload_by_id = p2.id

where upload_date > '2013-05-21'
group by p2.fullname, p.fullname
于 2013-06-21T18:24:42.083 に答える