の下で使用すると、私のコードは正常に実行されません。どんな提案も大歓迎です。私はトラブルシューティングすることができません、私はそれが配置されているのだろうか?whereとgroupをサブクエリ
これは私がエラーメッセージである:ここで
Msg 8120, Level 16, State 1, Line 7 Column 'prod.dbo.prov_fee_schedule.FEE_PROV' is invalid in the select >list because it is not contained in either an aggregate function or the GROUP BY clause.
私のコードです:
SELECT *
FROM nwh_analytics.dbo.km_cmr_table a
LEFT JOIN (SELECT CASE
WHEN location IN ('03', '05', '11', '12',
'15', '20', '25', '32',
'41', '42', '49', '50',
'60', '71', '72', '81', '99')
THEN
'Non Facility'
WHEN location = '*' THEN 'Facility'
ELSE 'error'
END AS LOC,
fee_prov,
fee_cpt,
cpt_modifier,
rate_a,
rate_b,
rate_c,
pct
FROM prod.dbo.prov_fee_schedule
WHERE to_date >= '2017-01-01'
AND fee_prov IN ('TUPP00')
GROUP BY CASE
WHEN location IN ('03', '05', '11', '12',
'15', '20', '25', '32',
'41', '42', '49', '50',
'60', '71', '72', '81', '99')
THEN
'Non Facility'
WHEN location = '*' THEN 'Facility'
ELSE 'error'
END) b
ON a.code = b.fee_cpt
なぜGROUP BYをお持ちですか?それは何もしていないというエラーを引き起こしています。 –
一般的なGROUP BYルールは次のように言います。GROUP BY句が指定されている場合、SELECTリストの各列参照は、グループ化列を特定するか、または集合関数の引数でなければなりません。 (まだあなたがグループを持っている理由はまだありますが...) – jarlh