واکشی اطلاعات از یک جدول با شرط MAx
دوستان سلام.
یک جدولی دارم که بر اساس سه ستون آن میخوام اطلاعات رو واکشی کنم.
اسم جدول :TblRejimDayes
ستونهای Date , Vadeh,BakhshId
ستون Vadeh سه نوع مقدار 1و2و3 میگیره.
میخوام داده های مربوط به یک بخش (BakhshId)و در آخرین تاریخ (Date)و در آخرین وعده غذایی(Vadeh) رو بخونم.با دستور زیر جواب درست نمیده.
cmd.CommandText = "Select * FROM TblRejimDayes wHERE( Vadeh= (SELECT MAX(Vadeh) FROM TblRejimDayes WHERE Date = (SELECT MAX(Date) FROM TblRejimDayes WHERE ( BakhshId=@BakhshId) ))) ";
ممنون
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
سلام اینو تست کنید ببینید جواب میده
خیلی ضایع نوشتم فقط:لبخند:
;with cte1 as( select Date , Vadeh,BakhshId from TblRejimDayes where BakhshId=12)
,cte2 as(select *,ROW_NUMBER() OVER (PARTITION BY BakhshId ORDER BY Date Desc ) AS rn from cte1)
,cte3 as (select * from cte2 where cte2.rn=1)
,cte4 as (select *,ROW_NUMBER() OVER (PARTITION BY BakhshId ORDER BY Vadeh Desc ) AS rn from cte3)
select * from cte4 where cte4.rn=1
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
نقل قول:
نوشته شده توسط
رامین مرادی
سلام اینو تست کنید ببینید جواب میده
خیلی ضایع نوشتم فقط:لبخند:
;with cte1 as( select Date , Vadeh,BakhshId from TblRejimDayes where BakhshId=12)
,cte2 as(select *,ROW_NUMBER() OVER (PARTITION BY BakhshId ORDER BY Date Desc ) AS rn from cte1)
,cte3 as (select * from cte2 where cte2.rn=1)
,cte4 as (select *,ROW_NUMBER() OVER (PARTITION BY BakhshId ORDER BY Vadeh Desc ) AS rn from cte3)
select * from cte4 where cte4.rn=1
ممنون از توجهتون.
به اینصورت اصلاح کردم ولی بازهم خطا میده. راستش اینجور کد تاحالا ندیدم . اصلا متوجه مفهومش نمیشم!!
cmd.CommandText = " cte1 as(select Date, Vadeh, BakhshId from TblRejimDayes where BakhshId= @BakhshId) with , " +
"cte2 as(select *,ROW_NUMBER() OVER(PARTITION BY BakhshId ORDER BY Date Desc) AS rn from cte1), cte3 as (select * from cte2 where cte2.rn = 1),"+
"cte4 as (select *,ROW_NUMBER() OVER(PARTITION BY BakhshId ORDER BY Vadeh Desc) AS rn from cte3), select* from cte4 where cte4.rn = 1";
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
بی زحمت دیتابیستون رو بدید من کدشو بزنم بدم بهتون. بدون اطلاعات جدول سخته
1 ضمیمه
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
نقل قول:
نوشته شده توسط
رامین مرادی
بی زحمت دیتابیستون رو بدید من کدشو بزنم بدم بهتون. بدون اطلاعات جدول سخته
داده زیادی ندارم . تصویرش رو میذارم .ضمیمه 149080
نمیدونم اینجوری به کارتون میاد یا نه.
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
دستور رو به اینصورت مینویسم جواب میده فقط ستون Vadeh رو نمیتونم وارد دستور کنم:
cmd.CommandText = "Select * FROM TblRejimDayes wHERE( Date = (SELECT MAX(Date) FROM TblRejimDayes WHERE (BakhshId=@BakhshId) ))
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
نه متاسفانه حداقل اکسل بدید
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
نقل قول:
نوشته شده توسط
رامین مرادی
نه متاسفانه حداقل اکسل بدید
نمیدونم چرا موقع خروجی اکسل خطا میده. اسکریپتش رو خواستم بذارم قسمت آپلود این سایت خطا میده! . ورژن sql بنده 10.50.4000.0 هستش. اگه به ورژن Sql شما میخوره بکاپ رو بذارم.
1 ضمیمه
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
بفرما اسکریپت و کل دیتابیس رو آپلود کردم
ضمیمه 149082
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
جالبه. دستور رو که به صورت زیر مینویسم دادهایی رو که نباید نشون بده نشون میده و داده هایی رو که باید نشون بده نشون نمیده. کاملا برعکس عمل میکنه!!:
cmd.CommandText = "Select * FROM TblRejimDayes wHERE Vadeh = (SELECT MAX(Vadeh) FROM TblRejimDayes where Date = (SELECT MAX(Date) FROM TblRejimDayes WHERE (BakhshId=@BakhshId) )) ";
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
بالاخره با این دستور جواب داد :
cmd.CommandText = "Select * from TblRejimDayes where (BakhshId = @BakhshId And Date= (SELECT MAX(Date) FROM TblRejimDayes ) And Vadeh= (SELECT MAX(Vadeh) FROM TblRejimDayes ) ) ";
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
نقل قول:
نوشته شده توسط
SardareEshgh
بالاخره با این دستور جواب داد :
cmd.CommandText = "Select * from TblRejimDayes where (BakhshId = @BakhshId And Date= (SELECT MAX(Date) FROM TblRejimDayes ) And Vadeh= (SELECT MAX(Vadeh) FROM TblRejimDayes ) ) ";
باز هم اشتباه بود !!:متفکر::متفکر::متفکر:
نقل قول: واکشی اطلاعات از یک جدول با شرط MAx
خدا رو شکر بالاخره یافتم . اما چه کدی شد !!! :
cmd.CommandText = "select * from TblRejimDayes where BakhshId=@BakhshId And Date = (SELECT MAX(Date) FROM TblRejimDayes where BakhshId=@BakhshId) " +
"And Vadeh =(SELECT MAX(Vadeh) FROM TblRejimDayes where BakhshId=@BakhshId And Date = (SELECT MAX(Date) FROM TblRejimDayes where BakhshId=@BakhshId))";