私は2つのテーブルを持っています。第一1はGROUP BY句にエラーがあります
空室テーブル空席テーブルです:
╔════════════╦═════════════╗
║ VacancyId ║ title ║
╠════════════╬═════════════╣
║ 1 ║ Vac1 ║
║ 2 ║ Vac2 ║
║ 3 ║ Vac3 ║
╚════════════╩═════════════╝
と第二1は
空室アプリケーションテーブル空席アプリケーションテーブルです:あなたが見ることができるよう
╔══════════════════════╦═══════════╦══════════════╦══════════════════╗
║ id ║ VacancyId ║ source ║ Application Date ║
╠══════════════════════╬═══════════╬══════════════╬══════════════════╣
║ 1 ║ 1 ║ abc ║ 2009-01-01 ║
║ 2 ║ 1 ║ def ║ 2009-01-02 ║
║ 3 ║ 2 ║ abc ║ 2010-01-02 ║
║ 4 ║ 3 ║ def ║ 2011-02-02 ║
║ 5 ║ 2 ║ abc ║ 2010-03-04 ║
║ 6 ║ 1 ║ def ║ 2009-04-07 ║
╚══════════════════════╩═══════════╩══════════════╩══════════════════╝
空席テーブルの1つのレコードに対して、空席に複数のエントリがありますアプリケーションテーブル。このテーブルにsourceという別の列があります。いいえを数えたい。各空席の申請はその出所によって異なります。そのため
期待される結果
╔════════ ╦══════ ╦═════════════╗
║ vacancy ║ source ║ No. Of App ║
╠════════ ╬══════ ╬═════════════╣
║ vac1 ║ ABC ║ 1 ║
║ vac1 ║ DEF ║ 2 ║
║ vac2 ║ abc ║ 2
vac3 ║ def 1
╚════════ ╩══════ ╩═════════════╝
私はこのクエリに
select v.title, isnull(nullif(va.source,''), 'Unknown') source, COUNT(va.source) apps from [VacancyApplication] as va inner join [Vacancy] as v on v.id= va.vacancyid group by source
を書かれたが、その私にエラーを与えて
Vacancy.title」しているので、選択リストに無効です集計関数またはGROUP BY句に含まれているのは ではありません。
私は空席のタイトルを除外した場合、それは
select isnull(nullif(source,''), 'Unknown') source, COUNT(source) apps
from [MyPeople_DataVersion2].[dbo].[VacancyApplication]
where vacancyid in (select v.id from [MyPeople_DataVersion2].[dbo].[Vacancy] as v where v.deleted=0) and deleted = 0
group by source
を引き起こす与えるが、その後、(持っている人、私は空席の名前を知らない...と私はそれが複数の空孔源を組み合わせていると思います同じソース名)を一緒に使用します。
あなたはあなただけのエラーメッセージがあなたを示してどのよう
Select v.title,
isnull(nullif(va.source,''),
'Unknown') source,
COUNT(va.source) apps
from [VacancyApplication] as va inner join [Vacancy] as v on v.id= va.vacancyid
group by v.title,
isnull(nullif(va.source,''), 'Unknown')
によってグループにv.titleを追加 'v.title BY ..GROUPは、問題がよくエラーによって記述されて –
をsource'メッセージ。それをお読みください。 – Pred
一般的なGROUP BY規則は次のとおりです。GROUP BY句が指定されている場合、SELECTリストの各列参照は、グループ化列を識別するか、または集合関数の引数でなければなりません。 – jarlh