Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
结构化SQL查询_Sql_Sql Server_Max - Fatal编程技术网

结构化SQL查询

结构化SQL查询,sql,sql-server,max,Sql,Sql Server,Max,帮助结构化SQL查询: Select Distinct ilc.itemnum, id.itemname, statename, realname From hsi.itemlc ilc INNER JOIN hsi.itemdata id ON id.itemnum = ilc.itemnum INNER JOIN hsi.lcstate lcs ON lcs.statenum = ilc.statenum INNER JOIN hsi.useraccount ua ON ua.usernum

帮助结构化SQL查询:

Select Distinct ilc.itemnum, id.itemname, statename, realname
From hsi.itemlc ilc
INNER JOIN hsi.itemdata id ON
id.itemnum = ilc.itemnum
INNER JOIN hsi.lcstate lcs ON
lcs.statenum = ilc.statenum
INNER JOIN hsi.useraccount ua ON
ua.usernum = id.usernum
INNER JOIN hsi.wftransactionlog wft ON
id.itemnum = wft.itemnum

Where ilc.statenum not in ('143','144')
and ilc.lcnum in ('101','252')
and ilc.status <> 16
在我上次加入hsi.wftransactionlog时,我只想在id.itemnum=wft.itemnum时提取max wft.logdate。实现这一目标的最佳方式是什么?hsi.wftransactionlog中有几个itemnum,但我只想获取表中最新wft.logdate的匹配项


如果这不合理,请告诉我。

您可以将交叉应用与子查询一起使用:

SELECT DISTINCT ilc.itemnum, id.itemname, statename, realname
From hsi.itemlc ilc
INNER JOIN hsi.itemdata id ON
id.itemnum = ilc.itemnum
INNER JOIN hsi.lcstate lcs ON
lcs.statenum = ilc.statenum
INNER JOIN hsi.useraccount ua ON
ua.usernum = id.usernum
CROSS APPLY ( SELECT MAX(logdate) AS logdate
              FROM hsi.wftransactionlog wft
              WHERE id.itemnum = wft.itemnum
            ) wft1

在黑暗中拍摄,没有任何示例数据可供测试,但使用子查询可能适合您

Select Distinct ilc.itemnum, id.itemname, statename, realname,
        ( select max(wft.logdate)
            hsi.wftransactionlog wft
            where wft.itemnum = id.itemnum
        ) as logdate
    From hsi.itemlc ilc
    INNER JOIN hsi.itemdata id ON id.itemnum = ilc.itemnum
    INNER JOIN hsi.lcstate lcs ON lcs.statenum = ilc.statenum
    INNER JOIN hsi.useraccount ua ON ua.usernum = id.usernum
    Where ilc.statenum not in ('143','144')
        and ilc.lcnum in ('101','252')
        and ilc.status <> 16

获取错误:“wft1”的第1列未指定列名。很抱歉,忘记在子查询中为该列指定别名。您现在已经编辑好了,可以再试一次吗?似乎正在工作。正确的结果数。我去查几个。一个不错的朋友:看了几个。它没有获取正确的最大日期:/。每个itemnum的wft.itemnum具有不同的用户名。这目前并没有抓取具有最新日志日期的用户。我的大脑受伤了。请用你正在使用的数据库标记你的问题。