2017-12-06 1 views
1

어떤 제안이나 아이디어를 환영 카운트 경우에 선택하는 열을 추가하고 어쩌면 그것은 할 수없는 내 주요 SELECT :여기 ... 행이> 1 개

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 

모든 항목을 끌어와 경우 어떤 enter image description here

: 항목 내가 WHERE을하기 전에

WHERE X.L = 1 
ORDER BY X.SQ 

내 데이터가 XL = 1은 다음과 같습니다 그것이 내가이 작업을 수행 한 후 행 개수는 목록에 나에게 첫째 항목을 가져 않는 1 개 이상을 가지고

내 문제는 ... 오른쪽에 X 또는 1 항목에 둘 이상의 행이있는 다른 열이 있어야합니다. 그런 다음 여러 위치 항목을 상단. 내가 할 수있는 경우 모든 아이디어를 공백으로 표시합니다. 이상적으로 X로 정렬하고 싶으면 X.L = 1을 실행하여 항목을 한 번만 가져 오지만 해당 항목에 둘 이상의 위치가 있음을 나타내는 트리거가 여전히 있어야합니다.

답변

0

작동했습니다!

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, (SELECT COUNT(*) FROM SLQNTY WHERE SLQNTY.ITNBR = MODATA.CITEM AND SLQNTY.LQNTY != 0 AND (SLQNTY.HOUSE=MOMAST.FITWH OR HOUSE IS NULL)) AS T 
FROM MODATA 
LEFT OUTER JOIN SLQNTY ON SLQNTY.ITNBR = MODATA.CITEM 
LEFT OUTER JOIN MOMAST ON MOMAST.ORDNO = MODATA.ORDNO 
WHERE MODATA.ORDNO = 'M838860' AND FLSTK != 'U' AND FLSTK != 'C' AND (SLQNTY.HOUSE=MOMAST.FITWH OR HOUSE IS NULL)) AS X 
WHERE X.L = 1 
ORDER BY X.T DESC 
관련 문제