PDA

View Full Version : Group By بر اساس فیلدی که در چند جدول (الحاق) مشترک است.



resident
دوشنبه 06 اسفند 1386, 10:14 صبح
سلام.
من میخوام در کوئری زیر اطلاعات رو بر اساس code_nemuneye_azmayeshgahi گروه بندی کنم.اما error می گیره:
خود کوئری بدون دستور گروپ بای درست جواب میده اما با گروپ بای نه.


select n.code_nemuneye_azmayeshgahi ,n.rang,n.vaziat
,k.code_formulasione_mavade_tarkibi,t.name
from nemuneye_azmayeshgahi as n,karborde_formulasion as k,type as t
where n.code_pishnahade_tarh='al101' (n.code_pishnahade_tarh=@code_tarh)
and n.code_nemuneye_azmayeshgahi=k.code_nemuneye_azmay eshgahi
and k.code_type=t.code_type

در دستور گروپ بای از هر یک از دستورات زیر هم استفاده کردم اما از همه error می گیره
متشکرم.


group by n.code_nemuneye_azmayeshgahi
group by code_nemuneye_azmayeshgahi

AminSobati
دوشنبه 06 اسفند 1386, 10:24 صبح
دوست عزیزم مطمئن هستین Query رو پست کردین؟!

resident
دوشنبه 06 اسفند 1386, 10:28 صبح
دوست عزیزم مطمئن هستین Query رو پست کردین؟!
جناب ثباتی شرمنده، پست کردم.

AminSobati
دوشنبه 06 اسفند 1386, 10:40 صبح
تمام فیلدهایی که در Aggregation شرکت ندارند، باید در Group By حضور داشته باشند. در Query شما من اثری از min یا max یا ... نمیبینم. لذا برای درست بودن Query، همه فیلدها باید در Group By بیان

resident
دوشنبه 06 اسفند 1386, 11:26 صبح
ممنون.حق با شماست.

تمام فیلدهایی که در Aggregation شرکت ندارند، باید در Group By حضور داشته باشند.
اگه اشتباه نکنم منظورتون" تمام فیلدهایی که در Aggregation شرکت دارند، باید در Group By حضور داشته باشند." است.درسته؟

AminSobati
دوشنبه 06 اسفند 1386, 12:36 عصر
نه عزیزم، اونهایی که شرکت "ندارند"

select count(customerid),country,city from customers
group by country,city

در این مثال فیلدهای country,city در تابع Aggregation استفاده نشدن لذا در group by قید میشن