مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

محمد

عضویت از 1392/04/03

دو شرط برای یک جدول

  • پنجشنبه 13 اردیبهشت 1397
  • 12:44
تشکر میکنم

سلام

من یه جدول در اس کیو ال دارم که خروج محصول و مقدار و تاریخ خروج رو ثبت میکنه

برای گزارش گیری چند حالت داره که باید در یک جدول (گرید ویوو) نمایش داده بشه :

اول : مقدار خروجی بر اساس تاریخ (که میتونه هر تاریخی باشه)    =>   که در این قسمت باید به این صورت نوشت    exitdate = '1397/01/16'

دوم : مقدار حمل شده تا آن تاریخ (یعنی تاریخ های قبلی رو هم جمع کنه)    =>   که در این قسمت باید به این صورت نوشت  exitdate <= '1397/01/16'

سوال اینجاست که این دو تا شرط رو چطور روی یک جدول اعمال کنم ؟؟؟

نمیشه با یک where  اینها رو پیاده سازی کرد !!!!!

ممنون میشم کمکم کنید . تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

علی رمضانی

عضویت از 1392/12/24

  • جمعه 1 تیر 1397
  • 13:23

سلام

فکر کنم مثال تاریخ رو دو بار تکرار کردید به اشتباه.

راه های زیادی وجود داره ولی من دو راه رو میگم:

1- اینکه در زمان درج هر تاریخ و مقدار خروج جدید، مقادیر خروج قبلی رو محاسبه و در فیلد جداگانه در کنارش ثبت کنید تا در زمان محاسبه نیازی به محاسبه زمان گیر نباشد. با این کار کمی جدول رو دینرمال می کنید ولی به بالا رفتن Performance می ارزه.

2- اینکه  یه select بنویسید که داخلش یه select دیگه باشه. 

select exitdate , (select sum(T1.exitValue) from Table1 as T1 where T1.ProductID = 5 AND T1.exitdate <> (select top 1 T2.exitdate from Table1 as T2 where T2.ProductID = 5 order by T2.exitdate desc) ) 
from Table1 where exitdate = (select top 1 T2.exitdate from Table1 as T2 where T2.ProductID = 5 order by T2.exitdate desc) and ProductID = 5
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)