0

データベース用にこのビューを作成する方法を考えています

各検針員が当月に読み取ったメーターの数 (このビューは、日付に合わせて変更することなく、いつでも使用できる必要があります)。

私が抱えている主な問題は、従業員が月に何回メーターを読んだかを数えることです。私はオラクルとSQL開発者を使用しています。

これらは私のテーブルです:

a2_METERREADER

 - EMPLOYEEID
 - FIRSTNAME
 - LASTNAME

a2_READING

 - READINGID
 - METERID
 - EMPLOYEEID
 - BILLNUMBER
 - READING
 - DATERECORD

a2_Watermeter

 - METERID
 - ADDRESS
 - SUBURB
 - POSTCODE
 - STATUS
 - CUSTOMERID
 - REPLACE
 - INSTALLDATE
4

2 に答える 2

2

daterecord が DATE の場合、Windows から現在の月にアクセスするには、これを行うことができます。

SELECT EMPLOYEEID, COUNT(*)
FROM a2_READING
WHERE TO_CHAR(DATERECORD, 'MM/YYYY') = TO_CHAR(SYSDATE, 'MM/YYYY')
GROUP BY EMPLOYEEID

このようにして、DATERECORD から日を削除し (月と年のみを保持)、月と年を保持するために再度変換された SYSDATE (現在の日付) と同じにする必要があります。

IDのみが必要な場合は、METERREADERテーブルに参加する必要はありません

于 2012-10-26T07:56:58.080 に答える
2

メーター リーダーとリーディング テーブルを結合し、該当する月の従業員別にグループ化された行数をカウントする必要があります。

これらの行に沿ったもの:

SELECT reader.EMPLOYEEID, COUNT(reading.READINGID)
FROM a2_METERREADER reader, a2_READING reading
WHERE reader.EMPLOYEEID = reading.EMPLOYEEID
AND YEAR(reading.DATERECORD) = YEAR(SYSDATE)
AND MONTH(reading.DATERECORD) = MONTH(SYSDATE)
GROUP BY reader.EMPLOYEEID
于 2012-10-26T07:38:47.490 に答える