有人能指出我正确的方向,我应该做什么来比较这两个查询的结果?
我想知道结果是否对彼此是相同的
我打算创建一个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)
答案 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。如果查询结果没有行,则不会发生插入。