Bita.Jo
سه شنبه 16 آبان 1391, 09:51 صبح
سلام خدمت دوستان عزیز
من یک کوئری میخوام که با توجه به مقدار یک فیلد جمع یک فیلد دیگر را برگرداند بصورت زیر بدون شرط است و مشکلی نیست اما وقتی شرط میذارم خطا میده:
بدون شرط
Select Count(id), Sum(Prc1), id from Table1 group by id
با شرط که خطا میده
Select Count(id) , Case when T=1 then Sum(Prc1) when T=2 then Sum(Prc2) else Sum(Prc3) end
id from Table1 Group by id
خطای زیر را می دهد
Column 'Table1.T' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
من میخوام با توجه به مقدار فیلدT مجموع Prc1,2,3 را برگردانم و همیشه یک مقدار نیست میدونم که نباید تو کوئری که Count داره از فیلدهای بجز اون استفاده تکی کنم ولی الان هم من نمیخوام مقادیر رو تک تک ببینم و فقط دارم توی شرط از فیلد T استفاده میکنم
کسی میتونه راه حلی برای مشکلم بگه؟؟؟؟؟؟؟؟؟؟؟؟؟؟:ناراحت:
من یک کوئری میخوام که با توجه به مقدار یک فیلد جمع یک فیلد دیگر را برگرداند بصورت زیر بدون شرط است و مشکلی نیست اما وقتی شرط میذارم خطا میده:
بدون شرط
Select Count(id), Sum(Prc1), id from Table1 group by id
با شرط که خطا میده
Select Count(id) , Case when T=1 then Sum(Prc1) when T=2 then Sum(Prc2) else Sum(Prc3) end
id from Table1 Group by id
خطای زیر را می دهد
Column 'Table1.T' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
من میخوام با توجه به مقدار فیلدT مجموع Prc1,2,3 را برگردانم و همیشه یک مقدار نیست میدونم که نباید تو کوئری که Count داره از فیلدهای بجز اون استفاده تکی کنم ولی الان هم من نمیخوام مقادیر رو تک تک ببینم و فقط دارم توی شرط از فیلد T استفاده میکنم
کسی میتونه راه حلی برای مشکلم بگه؟؟؟؟؟؟؟؟؟؟؟؟؟؟:ناراحت: