نمایش نتایج 1 تا 13 از 13

نام تاپیک: واکشی اطلاعات از یک جدول با شرط MAx

  1. #1

    واکشی اطلاعات از یک جدول با شرط 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) ))) ";


    ممنون

  2. #2
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: واکشی اطلاعات از یک جدول با شرط 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


  3. #3

    نقل قول: واکشی اطلاعات از یک جدول با شرط 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";

  4. #4
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: واکشی اطلاعات از یک جدول با شرط MAx

    بی زحمت دیتابیستون رو بدید من کدشو بزنم بدم بهتون. بدون اطلاعات جدول سخته

  5. #5

    نقل قول: واکشی اطلاعات از یک جدول با شرط MAx

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    بی زحمت دیتابیستون رو بدید من کدشو بزنم بدم بهتون. بدون اطلاعات جدول سخته
    داده زیادی ندارم . تصویرش رو میذارم .123.JPG
    نمیدونم اینجوری به کارتون میاد یا نه.

  6. #6

    نقل قول: واکشی اطلاعات از یک جدول با شرط MAx

    دستور رو به اینصورت مینویسم جواب میده فقط ستون Vadeh رو نمیتونم وارد دستور کنم:

     cmd.CommandText = "Select * FROM TblRejimDayes wHERE( Date = (SELECT MAX(Date) FROM TblRejimDayes WHERE (BakhshId=@BakhshId) ))

  7. #7
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: واکشی اطلاعات از یک جدول با شرط MAx

    نه متاسفانه حداقل اکسل بدید

  8. #8

    نقل قول: واکشی اطلاعات از یک جدول با شرط MAx

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    نه متاسفانه حداقل اکسل بدید
    نمیدونم چرا موقع خروجی اکسل خطا میده. اسکریپتش رو خواستم بذارم قسمت آپلود این سایت خطا میده! . ورژن sql بنده 10.50.4000.0 هستش. اگه به ورژن Sql شما میخوره بکاپ رو بذارم.

  9. #9

    نقل قول: واکشی اطلاعات از یک جدول با شرط MAx

    بفرما اسکریپت و کل دیتابیس رو آپلود کردم
    Rejim.rar

  10. #10

    نقل قول: واکشی اطلاعات از یک جدول با شرط MAx

    جالبه. دستور رو که به صورت زیر مینویسم دادهایی رو که نباید نشون بده نشون میده و داده هایی رو که باید نشون بده نشون نمیده. کاملا برعکس عمل میکنه!!:

     cmd.CommandText = "Select * FROM TblRejimDayes wHERE Vadeh = (SELECT MAX(Vadeh) FROM TblRejimDayes where Date = (SELECT MAX(Date) FROM TblRejimDayes WHERE (BakhshId=@BakhshId) )) ";

  11. #11

    نقل قول: واکشی اطلاعات از یک جدول با شرط MAx

    بالاخره با این دستور جواب داد :

      cmd.CommandText = "Select *   from TblRejimDayes where (BakhshId = @BakhshId And Date= (SELECT MAX(Date) FROM TblRejimDayes )  And Vadeh= (SELECT MAX(Vadeh) FROM TblRejimDayes )  ) ";

  12. #12

    نقل قول: واکشی اطلاعات از یک جدول با شرط MAx

    نقل قول نوشته شده توسط SardareEshgh مشاهده تاپیک
    بالاخره با این دستور جواب داد :

      cmd.CommandText = "Select *   from TblRejimDayes where (BakhshId = @BakhshId And Date= (SELECT MAX(Date) FROM TblRejimDayes )  And Vadeh= (SELECT MAX(Vadeh) FROM TblRejimDayes )  ) ";
    باز هم اشتباه بود !!

  13. #13

    نقل قول: واکشی اطلاعات از یک جدول با شرط 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))";

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •