View Full Version : حذف موارد عدم تایید برا اساس نوبت (برا مفهوم بیشتر عکس ضمیمه شده)
رامین مرادی
شنبه 28 بهمن 1396, 12:35 عصر
سلام وقت بخیر دوستان
یه جدول دارم که یه کد داره و یه نوبت و یه وضعیت
حالا ممکنه یه کد چندتا نوبت بازدید داشته باشه
ممکنه هم تو نوبت اول تایید بشه یا ممکنه تو نوبت n ام تایید بشه
خب تا اینجا مشکلی نیست
حال من نیاز دارم که کد هایی که تایید نشدن برا اساس آخرین نوبت رو استخراج کنم. نمونه خروجی رو هم قرار دادم. ممنون میشم در این مورد راهنماییم کنید.
147664
sg.programmer
شنبه 28 بهمن 1396, 22:09 عصر
از این استفاده کن
از ستون های کد و وضعیت گروپ بای بگیر
SELECT cust_city, cust_country,
MAX(outstanding_amt)
FROM customer
GROUP BY cust_country, cust_city
ORDER BY cust_city;
sg.programmer
یک شنبه 29 بهمن 1396, 18:35 عصر
راستی باید یک where اول بزاری اونای تا NOK هستن را بگیره
Mahmoud.Afrad
یک شنبه 29 بهمن 1396, 21:44 عصر
راستی باید یک where اول بزاری اونای تا NOK هستن را بگیره
با این شرط اگر کدی وجود داشته باشد که چند نوبت تایید نشده ولی در آخر تایید شده هم انتخاب خواهد شد در صورتی که صورت مسئله اونهایی رو میخواد که تایید نشدند.
بایست براساس کد گروهبندی کنید و گروههایی رو بگیرید که ستون وضعیت دارای 'ok' نباشد.
رامین مرادی
پنج شنبه 03 اسفند 1396, 11:12 صبح
با این شرط اگر کدی وجود داشته باشد که چند نوبت تایید نشده ولی در آخر تایید شده هم انتخاب خواهد شد در صورتی که صورت مسئله اونهایی رو میخواد که تایید نشدند.
بایست براساس کد گروهبندی کنید و گروههایی رو بگیرید که ستون وضعیت دارای 'ok' نباشد.
مد نظر براساس آخرین نوبت که nok هست بگیره. که کلیه nok هارو برمیگردونه
Mahmoud.Afrad
سه شنبه 29 اسفند 1396, 13:27 عصر
مد نظر براساس آخرین نوبت که nok هست بگیره. که کلیه nok هارو برمیگردونه
with cte
as
(
select id=1 , PriodicCheck=1 , status='ok'
union select id=5 , PriodicCheck=1 , status='nok'
union select id=6 , PriodicCheck=1 , status='nok'
union select id=5 , PriodicCheck=2 , status='nok'
union select id=5 , PriodicCheck=3 , status='ok'
)
select id, max(PriodicCheck) LastPriodicCheck
from cte
group by id
having count(case status when 'ok' then status else null end)=0
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.