+3 امتیاز
با سلام

من جدولی دارم که براساس گروه مشتری و نام کالا داره قیمیت ها رو اعلام میکنه

الان برای چاپ لیست قیمیت بطور مثال سوپر مارکت از کالای کیک به مشکل برخوردم چون تو این جدول رکوردی آپدیت نمیشه همیشه فی کالا براساس نوع گروهش داره اینسرت میشه

هدف از اینسرت کردن هم ایجاد یه نمودار قیمیت براساس نوع کالا و نوع گروه بود

دوستان اگه راه حلی برای حذف رکوردهای تکراری دارن راهنمایی کنید

 

رکوردهای جدول

گروه         ||       نام کالا           ||       فی پایه         ||            فی  مصرف کننده     ||        تاریخ ثبت

----------------------------------------------------------------------------------------------------------------------------------

سوپری      ||       کیک نادری    ||          400             ||                 650                  ||         1394/01/01

سوپری        ||     کیک نادری    ||            450           ||                800                       ||          1394/02/02

سوپری     ||         کیک نادری  ||                320      ||                    580              ||                 1393/10/01

 

براساس جدول بالایی ردیف دوم باید چاپ بشه چون نزدیکترین تاریخ به تاریخ امروزه
سلام دوست گرامی

بله همین رو میخوام با اون شرایطی که گفتم
توسط (741 امتیاز) 1 14 52
میخوای ردیف هایی که به تاریخ روز نزدیکتره چاپ شه؟آیا تاریخی رو خودت میدی و میخوای نزدیک ترین تاریخ به تاریخی که دادی چاپ بشه؟
توسط (466 امتیاز) 7 26

1 پاسخ

+3 امتیاز

برای واکشی اطلاعات میتونی از اسکریپت زیر استفاده کنی

 

Select *

FROM [dbo].[Table_1]

Where [Date]=(Select max([Date])

from [dbo].[Table_1] where [Date]<='1394/04/03') --1394/04/03 >> 'تاریخ روز یا تاریخ مدنظر'

 

برای حذف ردیف های تکراری هم  چنتا راه وجود داره البته منظورم در اینجا از حذف اینه که ردیف های تکراری در گزارش شرکت نکنه

راه اول

   *  قبل از  Distinctاستفاده از  

راه دوم

 

with #Report

As

(

 

Select Row_number() over (partition by [Group],part,Feep,FeeS,[Date] order by [date]) As RNK

, *

 

FROM [dbo].[Table_1]

Where [Date]=(Select max([Date])

from [dbo].[Table_1] where [Date]<='1394/04/03') --1394/04/03 >> 'تاریخ روز یا تاریخ مدنظر'

)

Select * from #Report

where RNK=1

 

جدول

 

راه اول

راه دوم

 

 

من خودم یه بار بر روی تاریخ شرط گذاشتم ولی نشد

فقط 4 تا رکورد رو برام میاره درصورتی که

48 تا رکورد دارم نمیدونم شاید کدی که من میزنم درست نباشه یا ....

بازم ممنون که وقت گذاشتین

یه جدول دیگه ایجاد کردم برای لیست قیمیت که همیشه یه مقدار رو تو خودش نگه میداره

توسط (741 امتیاز) 1 14 52
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,921 کاربر

دسته بندی ها

...