数日前から奇妙な問題が発生しているため、クエリを実行できません。
SELECT Empid as EmployeeId, EmpName,
CustomerName as 'Distributor Name', Customer.RSCode, markedFor as 'Date Marked For',
CASE WHEN Present = 0 THEN 'ABSENT' ELSE 'PRESENT' END AS Attendance, Reason
FROM EmployeeAttendance_Backup ea, Customer, Employee e, EmployeeMaster em
WHERE
ea.DistID = cast(Customer.RSCode as int)
AND e.EmployeeMasterID=em.Id
AND ea.Empid = em.EmployeeID
--ORDER BY markedFor
上記のクエリを実行すると、エラーで終了する前に、約 160k ~ 190k のレコードが取得されます。
varchar 値 'Present 500004862' をデータ型 int に変換するときに変換に失敗しました。
このエラーがスローされているフィールドを選択していません。
句を有効にするORDER BY
と、レコードが取得されず、次のエラーが発生します。
varchar 値 'Hirannaiah K R' をデータ型 int に変換するときに変換に失敗しました。
EmployeeAttendance_Backup テーブルには 200 万近くのレコードがあります。これは何か問題を引き起こしていますか? 解決策を探す方法がわかりません。この特定の従業員の出席テーブルを調べて、一部のレコードが誤って保存されていないかどうかを確認しようとしましたが、そうではありません。この特定の従業員の Employee と EmployeeMaster についても同じことを行いました。
どこから問題を探し始めますか?