2013-07-03 19 views
0

我有两个表与这些列:SQL数成一排

表1

ID , INT 
NAME, NVARCHA 
ROLL, INT 

表2

ID,  INT 
NAME_ID, INT 
REAL_DATE, Date 
H7_00,  BIT 
H8_00,  BIT 

我想H7_00是这样的真实姓名的列表,为期3个月。

Real_Date | Name| Name | Name | Name | Name | Name | Name |Name |Name |Name |Name 
Real_Date | Name | Name | 
Real_Date | Name| Name | Name | Name  
Real_Date | Name | Name | Name | Name |Name| Name | Name | Name 

以下是我的尝试

SELECT 
    Hours.Real_Date, Person.Name ,Person.Role 
FROM 
    Person 
INNER JOIN 
    Hours ON Hours.P_ID = Person.ID 
WHERE 
(Hours.Real_Date >= getDate()) 
    AND 
(Hours.Real_Date <= getDate() + 90) 
    (Hours.H7_00 = 1 AND Hours.H7_00_Free = 1) 
    AND 
    (Person.Role = 1) 
ORDER BY 
    Real_Date, Name 

这是我得到

2013-12-12 AAAA 1 
2013-12-12 BBBB 1   
2013-12-12 CCCC 1 

如果任何人有一个解决方案,我将非常感激,

而且由于在提前回复

回答

0

在SQL-Server(TSQL)中,您可以使用DATEADD (datepart , number , date)来尝试:

(DATEADD(DAY,0,Hours.Real_Date) >= DATEADD(DAY,0,getDate())) 
AND 
(DATEADD(DAY,0,Hours.Real_Date) <= DATEADD(DAY,+90,getDate())) 
+0

它应该怎样帮助我? 我需要得到一些答案到一个答案 – user1095549