0

数日前から奇妙な問題が発生しているため、クエリを実行できません。

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 についても同じことを行いました。

どこから問題を探し始めますか?

4

0 に答える 0