برنامه اي را در نظر بگيريد که داراي پروژه هاي مختلفي است که روند تکامل هر پروژه از شروع تا پايان بايد ذخيره شود
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
همان طور که می بینید براي اين پروژه دو جدول طراحي کرده ام يکي به نام پروژه (که دارای یک فیلد کلید به نام آی دی می باشد) يکي به نام پيگيري. (فیلد وضعیت رشته است)کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کوئری که میخواهم بگیرم به صورت زیر است
"وضعیت آخرین تاریخ پیگیری هر کد"
SELECT ProjeID, MAX(T_Peigiri) AS AkharinTarikh
FROM dbo.Pursue
GROUP BY ProjeID
تا اینجا مشکلی وجود نداره و رکوردها را گروپ بندی شده نمایش می دهد
اما هدف کوئری نمایش وضعیت رکوردهاست که با اضافه کردن آن اجرا نمی شود. علی الظاهر در گروپ بای نمی توان خود فیلد را نمایش داد و حتما باید از توابعی مثل MAX ,Min ,Count,... استفاده شود
SELECT ProjeID, MAX(T_Peigiri) AS Expr1, Vazeivat
FROM dbo.Pursue
GROUP BY ProjeID
البته اگر در گروپ بای فیلد وضعیت رو بنویسم مشکل حل میشه اما در اصل گروپ بای رو غیر فعال کردم و همه رکورد ها رو نمایش میده.