このステートメントからレコードを取得する方法を誰か教えてもらえますか
- 過去 x か月の月間最優秀従業員ではない従業員をランダムに選択します
テーブル 従業員
ID
従業員名
テーブル EmployeeOfTheMonth
ID
EmployeeID
MonthStartedDate
MonthEndedDate
どうもありがとうございました
このステートメントからレコードを取得する方法を誰か教えてもらえますか
テーブル 従業員
ID
従業員名
テーブル EmployeeOfTheMonth
ID
EmployeeID
MonthStartedDate
MonthEndedDate
どうもありがとうございました
select top 1 id from employee as emp
where not exist(
select top 1 *
from employeeofthemonth as em
where em.id = emp.id and dateadd(m, -6, getdate()) < monthendeddt )
order by newid()
...またはそれに近いもの。私はSQLを実行しませんでしたが、mssqlサーバーでは、これはほぼ正しいはずです。
最後の回答の変更、INステートメントを使用することを好みます
DECLARE @xMonth INT
SET @xMonth = 3
SELECT TOP 1 ID
FROM Employee
WHERE ID NOT IN (SELECT EmployeeID
FROM EmployeeOfTheMonth
WHERE DATEADD(m, -@xMonth, GETDATE()) < MonthEndedDate)
ORDER BY NEWID()