どんな体でも私を助けてくれますか?テーブルからクエリを実行したいのですが、その目的は、どの従業員が 100 個以上販売しているかを表示することです。私はそのクエリを実行しましたが、動作します
しかし、各従業員(100個以上の商品を販売した人)の最終販売時間を表示したい場合に問題が発生します
私はTBL_SALESのようなテーブルを持っています
no employee_id name pieces sl_time
---|-------------|-------------|--------|----------
1 | 1 | bungdito | 60 | 2012-03-29 22:20
2 | 1 | bungdito | 40 | 2012-03-05 18:00
3 | 1 | bungdito | 50 | 2012-02-18 08:00
4 | 2 | addheat | 120 | 2012-02-12 09:30
5 | 3 | angga | 20 | 2012-01-18 10:45
6 | 4 | dimas | 50 | 2012-01-01 08:30
このようなクエリを使用すると
select * from
(
select EMPLOYEE_ID, NAME, sum(PIECES) PIECES from
(
select EMPLOYEE_ID, NAME, PIECES
from DB_SCHEMA.TBL_SALES
)
group by EMPLOYEE_ID, NAME
) where PIECES > 100
私はこの正しい結果を持っています
employee_id name pieces
-------------|-------------|--------
1 | bungdito | 150
2 | addheat | 120
上記の結果は正しく、
しかし、私が必要とするのは、各従業員の最後のトランザクション時間で完了しています
クエリを作成しようとしましたが、まだ正しくありません
select * from
(
select EMPLOYEE_ID, NAME, sum(PIECES) PIECES, SL_TIME
(
select EMPLOYEE_ID, NAME, PIECES,(select max(WAKTU) SL_TIME from DB_USER.TR_PELANGGARAN where TB_SALES.EMPLOYEE_ID = EMPLOYEE_ID from TB_SALES) SL_TIME
from DB_SCHEMA.TBL_SALES
)
group by EMPLOYEE_ID, NAME, SL_TIME
) where PIECES > 100
そのクエリを使用しても、次のような間違った結果が得られます(sl_time が bungdito と addheat で同じであることを確認してください)。
employee_id name pieces sl_time
-------------|-------------|--------|----------
1 | bungdito | 150 | 2012-03-29 22:20
2 | addheat | 120 | 2012-03-29 22:20
私が必要とするのは、以下のようなものです:
employee_id name pieces sl_time
-------------|-------------|--------|----------
1 | bungdito | 150 | 2012-03-29 22:20
2 | addheat | 120 | 2012-02-12 09:30