私は開発者ではありませんが、開発者に手伝ってもらう前にこの作業を行う必要があります。 私は以下のことを持っています。それはうまくいっていますが、私はそれを正しいものにするために選択する必要があり、グループに追加する必要があると私に伝えます。私がそれをするとき、それは結果を「重複する」。なぜグループ化が必要なのですか
何作品:
Select ALTEXTCUSTREF
,(SELECT AVG(C.SALESPRICE*C.QTY)) AS Budget
,select SUM(B.LEDGERSALESAMOUNT) as Labour
from SMMACTIVITIES AS A
LEFT JOIN PROJEMPLTRANS AS B ON A.ACTIVITYNUMBER=B.ACTIVITYNUMBER
LEFT JOIN PROJFORECASTEMPL AS C ON A.ACTIVITYNUMBER=C.ACTIVITYNUMBER
WHERE A.ACTIVITYNUMBER LIKE '1234%'
group by A.ALTEXTCUSTREF, C.ACTIVITYNUMBER
が、私は次のようでしたのでB.LEDGERSALESAMOUNTに条件を配置する必要があります。
Select ALTEXTCUSTREF
,(SELECT AVG(C.SALESPRICE*C.QTY)) AS Budget
,(select SUM(B.LEDGERSALESAMOUNT) where B.CATEGORYID NOT LIKE 'P_%') as Labour
from SMMACTIVITIES AS A
LEFT JOIN PROJEMPLTRANS AS B ON A.ACTIVITYNUMBER=B.ACTIVITYNUMBER
LEFT JOIN PROJFORECASTEMPL AS C ON A.ACTIVITYNUMBER=C.ACTIVITYNUMBER
WHERE A.ACTIVITYNUMBER LIKE '1234%'
group by A.ALTEXTCUSTREF, C.ACTIVITYNUMBER
そして、私はこのエラーを取得する:
Msg 8120, Level 16, State 1, Line 4 Column 'PROJEMPLTRANS.CATEGORYID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
しかし、私は私が間違っていALTEXTCUSTREF分割アウトのラインを取得することで、グループにB.CATEGORYIDを置く場合。
助けてください。私は立ち往生して時間がなくなっています。 OPの新しい意思として
あなたが「ここで、b持っているため、エラーが表示されているだけで集約された機能を残して、彼らは不必要で、それらの内側の選択を外し、そしてあなた,,,によりグループからc.ActivityNumberを削除.CategoryIdが 'p_%'と同じではありません。内側の選択で、大文字に変換してください。 – Veljko89
使用しているDBMSにタグを付けてください。 (そのクエリは製品固有です。) – jarlh