我有一张表中使用的扫描码,但该表并没有保存最新的扫描码。所以我在这些订单上有多个订单号。
问题是我需要每个订单的每个项目编号的最后扫描代码,而不是每次扫描时都需要。基本上我不需要知道它已从准备到定制扫描到发货。我只需要知道它是在发货。我得到一个项目编号的三个结果,因为它已被扫描三次。我不需要从以前扫描过的地方重复结果。
" S3DTNSEQ#"列是扫描的次数。我只需要保留扫描次数最多的行。低于我需要摆脱的最高扫描次数的任何东西。 '扫描到'列是" S3DTSTO"。所以使用" S3DTNSEQ#"用于确定保留哪一行的列是想法。
SELECT
TMON as "order number",
TMCPO# as "po#",
TMRQD as "due date",
S3ITNO as "item number",
S3ORQT as "quantity",
TMCUST as "cust#",
TMNAME as, "cust name"
S3DTSTO as "scanned to",
TMSCHID as "sched id,
MAX( S3DTNSEQ# ) AS "S3DTNSEQ#",
S3DTADT as "maintained date"
FROM
TSA400.NRPDTA.SOP114F1 SOP114F1,
TSA400.NRPDTA.SOA SOA,
TSA400.NRPDTA.S3O S3O,
TSA400.NRPDTA.S3DTU S3DTU
WHERE SOP114F1.TMON = SOA.SOON
AND SOP114F1.TMSHP# = SOA.SOSHPN
AND SOP114F1.TMCUST = SOA.SOCUST
AND SOA.SOON = S3O.S3ON
AND SOP114F1.TMON = S3O.S3ON
AND SOA.SOCUST = S3O.S3CUST
AND SOP114F1.TMCUST = S3O.S3CUST
AND SOA.SOSHPN = S3O.S3SHPN
AND SOP114F1.TMON = S3DTU.S3DTON
AND SOP114F1.TMSHP# = S3DTU.S3DTSHP#
GROUP BY
TMON,
TMCPO#,
TMRQD,
S3ITNO,
S3ORQT,
TMCUST,
TMNAME,
S3DTSTO,
TMSCHID,
S3DTADT
我想我需要一个子查询才能做到这一点,但我完全迷失了,如何做到这一点。我道歉,查询是在" Showcase"它广泛使用where子句而不是连接。