比较来自2个不同表的2个SQL查询结果

时间:2016-01-08 09:14:24

标签: sql

有人能指出我正确的方向,我应该做什么来比较这两个查询的结果?

我想知道结果是否对彼此是相同的

我打算创建一个SP,在插入一个表之前,首先确定2个查询的结果是否相同。

查询1:

SELECT TOP 10 
    EventName, EventDate 
FROM 
    EventTBL 
WHERE 
    EventType ='Bday' 
    AND EventDate >= getdate() -30

查询2:

SELECT 
    (Ename + ' ' + Lname), 
    DATEADD(YY, DATEPART(YYYY, GETDATE()) - 
    DATEPART(YYYY,dateOfBirth), dateOfBirth) 
FROM 
    EmpTBL 
WHERE 
    DATEADD(Year, DATEPART(Year, GETDATE()) - 
         DATEPART( Year, DateOfBirth), DateOfBirth)  
    BETWEEN CONVERT(DATE, GETDATE()) 
        AND CONVERT( DATE, GETDATE() + 30)

1 个答案:

答案 0 :(得分:0)

我建议您在两个表中构建一个SQL,并根据结果执行您想要的操作。

示例:

SELECT 
    event.EventName as eName, event.EventDate as eDate, 
    emp.Ename + ' ' + emp.Lname as empName, emp.empdateOfBirth as empBirth
FROM 
    EventTBL event INNER JOIN EmpTBL emp ON event.pk = emp.fk 

如果两个表未加入,您可以加入其他一些字段

SELECT 
    event.EventName as eventName, event.EventDate as eventDate, 
    emp.Ename + ' ' + emp.Lname as empName, emp.empdateOfBirth as empBirth
FROM 
    EventTBL event INNER JOIN EmpTBL emp ON evnt.eventDate = emp.empBirth 

您还可以在日期字段上使用DATEADD / DATEDIFF进行特殊日期比较。请记住索引这些日期字段以优化连接操作。

为连接添加WHERE子句和可能的附加子句,您将获得所需的结果。

如果要存储结果,请使用DBMS SQL语法将其构建为插入。它可以是:INSERT INTO - SELECT FROM,SELECT - INTO - FROM或另一种插入SQL语法,具体取决于您的需求和DBMS。如果查询结果没有行,则不会发生插入。