Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server 2008 R2查询需要指导_Sql_Sql Server_Select_Sql Server 2008 R2 - Fatal编程技术网

SQL Server 2008 R2查询需要指导

SQL Server 2008 R2查询需要指导,sql,sql-server,select,sql-server-2008-r2,Sql,Sql Server,Select,Sql Server 2008 R2,输出: SELECT A.First_Name, b.First_Name, A.DOB, B.DOB, A.Token, B.Token, DATEDIFF(YEAR, A.DOB, B.DOB) - (CASE WHEN DATEADD(YY, DATEDIFF(YEAR, A.DOB, B.DOB), A.DOB) > Getdate() THEN 1

输出:

SELECT 
    A.First_Name, b.First_Name, A.DOB, B.DOB, A.Token, B.Token, 
    DATEDIFF(YEAR, A.DOB, B.DOB)                        -
    (CASE
       WHEN DATEADD(YY, DATEDIFF(YEAR, A.DOB, B.DOB), A.DOB) > Getdate() 
         THEN 1                                        
         ELSE 0 END) 'Age Difference' 
FROM 
   Boys_details A , Girls_details B
WHERE
   a.Cast = 'brahmin'
   AND A.City = 'pune'
   AND a.Height >= B.Height
   AND a.Salary >= B.salary

我不希望输出值为负值,但它仍然是令人满意的条件之一,如身高和工资,但如果年龄的话,他们失败了。所以一个失败的人不想在o/p中显示它们,请帮助我。

在子查询中如何

Nilesh  Ruchita 1973-01-21  1964-12-01  9   89  -9
Nilesh  Smitha  1973-01-21  1976-07-30  9   77  3
Nilesh  Richa   1973-01-21  1974-04-21  9   2   1

在子查询中如何

Nilesh  Ruchita 1973-01-21  1964-12-01  9   89  -9
Nilesh  Smitha  1973-01-21  1976-07-30  9   77  3
Nilesh  Richa   1973-01-21  1974-04-21  9   2   1

只需将您的案例陈述添加到where子句:

SELECT  *
FROM
        (
            SELECT  A.First_Name,
                    b.First_Name,
                    A.DOB,
                    B.DOB,
                    A.Token,
                    B.Token, 
                    DATEDIFF(YEAR,A.DOB,B.DOB) -
                        (CASE WHEN DATEADD(YY,DATEDIFF(YEAR,A.DOB,B.DOB),A.DOB)> Getdate() 
                                THEN 1                                        
                                ELSE 0 
                        END) AS [Age Difference] 
            from    Boys_details A , 
                    Girls_details B
            where   a.Cast='brahmin' and 
                    A.City='pune' and 
                    a.Height >= B.Height and 
                    a.Salary>=B.salary
        ) s
WHERE [Age Difference] >= 0

只需将您的案例陈述添加到where子句:

SELECT  *
FROM
        (
            SELECT  A.First_Name,
                    b.First_Name,
                    A.DOB,
                    B.DOB,
                    A.Token,
                    B.Token, 
                    DATEDIFF(YEAR,A.DOB,B.DOB) -
                        (CASE WHEN DATEADD(YY,DATEDIFF(YEAR,A.DOB,B.DOB),A.DOB)> Getdate() 
                                THEN 1                                        
                                ELSE 0 
                        END) AS [Age Difference] 
            from    Boys_details A , 
                    Girls_details B
            where   a.Cast='brahmin' and 
                    A.City='pune' and 
                    a.Height >= B.Height and 
                    a.Salary>=B.salary
        ) s
WHERE [Age Difference] >= 0