ozzy_mra
یک شنبه 13 بهمن 1392, 16:34 عصر
سلام
من دو تا جدول دارم به شکل زیر :
[Management].[Person](
[PersonsID] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [nvarchar](50) NOT NULL,
[LastName] [nvarchar](100) NOT NULL,
[Semat] [nvarchar](50) NOT NULL,
[Vahed] [nvarchar](50) NOT NULL,
[Floor] [int] NOT NULL,
[ShowInList] [bit] NOT NULL,
[LastState] [nchar](10) NOT NULL)
و
[Management].[PersonEnters](
[PersonEnters] [int] IDENTITY(1,1) NOT NULL,
[PersonID] [int] NOT NULL,
[Vaziat] [nchar](10) NOT NULL,
[Time] [nchar](10) NOT NULL,
[PDate] [nchar](10) NOT NULL)
که در اولی اطلاعات کل افرادم تو سیستم هست و تو جدول دوم اطلاعات ورود و خروج اونا ثبت میشه
من می خوام تو گزارشم مثلاً تو تاریخ 1392/11/14 اطلاعات کلیه ورود و خروج هام رو نشون بدم و اگر کارمندی به طور مثال اون روز غایب بوده که طبیعتا در جدول دوم اطلاعاتش ثبت نشده هم تو گزارشم نشون داده بشه و به جای اطلاعات از جدول دوم با Null یا یه استرینگ ثابت مثل "ثبت نشده" پر بشه
من این کوئری رو استفاده کردم :
select * from [Management].[Person] left outer join [Management].[PersonEnters]
on [Management].[Person].[PersonsID] = [Management].[PersonEnters].[PersonID]
where [Management].[PersonEnters].PDate = '1392/11/14'
که فقط اطلاعات کسایی که تو اون روز در جدول دوم ثبت شدند رو نشون میده و کسایی که اون روز براشون ورود یا خروج ثبت نشده رو نشون نمیده.
اگه ممکنه راهنماییم کنید.
در واقع برای هر روز یه تایم شیت برای تمام کارکنا می خوام ، اونایی که بودند ورود و خروجشون نمایش داده بشه و اونایی که ورودشون تو اون روز خاص ثبت نشده با Null یا یه رشته ثابت نمایش داده بشه.
ممنون
من دو تا جدول دارم به شکل زیر :
[Management].[Person](
[PersonsID] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [nvarchar](50) NOT NULL,
[LastName] [nvarchar](100) NOT NULL,
[Semat] [nvarchar](50) NOT NULL,
[Vahed] [nvarchar](50) NOT NULL,
[Floor] [int] NOT NULL,
[ShowInList] [bit] NOT NULL,
[LastState] [nchar](10) NOT NULL)
و
[Management].[PersonEnters](
[PersonEnters] [int] IDENTITY(1,1) NOT NULL,
[PersonID] [int] NOT NULL,
[Vaziat] [nchar](10) NOT NULL,
[Time] [nchar](10) NOT NULL,
[PDate] [nchar](10) NOT NULL)
که در اولی اطلاعات کل افرادم تو سیستم هست و تو جدول دوم اطلاعات ورود و خروج اونا ثبت میشه
من می خوام تو گزارشم مثلاً تو تاریخ 1392/11/14 اطلاعات کلیه ورود و خروج هام رو نشون بدم و اگر کارمندی به طور مثال اون روز غایب بوده که طبیعتا در جدول دوم اطلاعاتش ثبت نشده هم تو گزارشم نشون داده بشه و به جای اطلاعات از جدول دوم با Null یا یه استرینگ ثابت مثل "ثبت نشده" پر بشه
من این کوئری رو استفاده کردم :
select * from [Management].[Person] left outer join [Management].[PersonEnters]
on [Management].[Person].[PersonsID] = [Management].[PersonEnters].[PersonID]
where [Management].[PersonEnters].PDate = '1392/11/14'
که فقط اطلاعات کسایی که تو اون روز در جدول دوم ثبت شدند رو نشون میده و کسایی که اون روز براشون ورود یا خروج ثبت نشده رو نشون نمیده.
اگه ممکنه راهنماییم کنید.
در واقع برای هر روز یه تایم شیت برای تمام کارکنا می خوام ، اونایی که بودند ورود و خروجشون نمایش داده بشه و اونایی که ورودشون تو اون روز خاص ثبت نشده با Null یا یه رشته ثابت نمایش داده بشه.
ممنون