【发布时间】:2017-12-06 19:40:38
【问题描述】:
欢迎任何建议或想法,也许无法完成......这是我的主要选择:
SELECT * From(
SELECT MODATA.CITEM, MODATA.QTREQ, MODATA.UNMSR, MODATA.CDESC, MODATA.USRSQ AS SQ, MODATA.OPRWU, SLQNTY.LLOCN, SLQNTY.LQNTY, ROW_NUMBER() OVER (PARTITION BY CITEM ORDER By CITEM) as L, MODATA.FLSTK,
MODATA.ISQTY, (QTREQ - ISQTY) as finalQty, SLQNTY.HOUSE, MOMAST.FITWH
FROM MODATA
LEFT OUTER JOIN SLQNTY ON SLQNTY.ITNBR = MODATA.CITEM
LEFT OUTER JOIN MOMAST ON MOMAST.ORDNO = MODATA.ORDNO
WHERE MODATA.ORDNO = 'M889360' AND FLSTK != 'U' AND FLSTK != 'C' AND (SLQNTY.HOUSE=MOMAST.FITWH OR HOUSE IS NULL)) AS X
这会拉出所有项目,如果一个项目超过 1 个,它会计算行数,然后我这样做只是为了给我带来列表中的第一个项目
WHERE X.L = 1
ORDER BY X.SQ
我的问题是...我想在右侧有另一列显示 X 或 1 如果项目有多行...然后我可以按此排序以放置多个位置项目在顶部。关于是否可以完成的任何想法我都在画空白。理想情况下要按 X 排序,然后我会执行 X.L = 1 只拉项目一次,但仍然有一个触发器来显示该项目上有多个位置。
【问题讨论】: