제가 작업중인 SQL 요청에 문제가 있습니다.바깥 쪽 바깥 쪽 적용은 모두 적용됩니까?
총 특정 고객이 주문한 특정 품목 번호를 반환하고 싶습니다. 문제는 다음과 같습니다. 요청을 실행할 때 두 줄 이상이 표시됩니다.
(이 코드의 이해를 돕기 위해 내 요청의 매우 단순화 된 버전이 있습니다. 내 테이블 이 아닌 같은 이름, 내 행하지도 않습니다 있습니다.를)
SELECT outerpallet.pallet as palletnbr, ID, shipmentID FROM arandomtable
OUTER APPLY (SELECT SUM(palletnbr) as pallet FROM thepallettable GROUP BY arandomtable.ID) as outerpallet
WHERE ID = @something
내가 무엇을 얻을 :
palletnbr ID shipmentid
1 2 340
2 3 340
3 4 340
것은 내가 (whitout 반드시 ID와 shipmentid을 가진) 좀하고 싶습니다 무엇 :
palletnbr
6
이렇게하려면 모든 줄을 하나로 묶어야합니다. 나는 다른 외부 적용을하는 것을 생각했으나 작동하지 않을 것입니다. (다른 외부 적용의 외부 적용을하고 있기 때문에) ...
저는 어쩌면 내 외부를 다른 방식으로 적용하려고 생각했지만, 방법을 찾는 것처럼 보입니다. 나는 추가하려고 :
GROUP BY shipmentid
그러나 적용이 외부에있을 것, 나는 거기에 넣어하는 방법을 알아낼 수 없습니다.
누구든지이 문제를 해결하는 데 도움이 될 아이디어가 있습니까? 작은 힌트가 큰 도움이 될 것입니다!
내 querry는 다음과 같이 처리됩니다. SELECT (...) arandomtable FROM INNER는 Y에서 X 가입 = Z는 INNER는 Y에서 X 가입 = Z는 INNER는 Y에서 X 가입 = Z는 INNER는 Y에서 X 가입 = Z는 INNER가 = Y = Z 좌측 X 가입 Y X에서 가입 Z 는 LEFT outerpallet 로 (arandomtable.ID BY thepallettable 그룹에서 팔레트로 SUM (palletnbr를) 선택)을 적용 Y = Z OUTER에 Z 가입 WHERE (조건) – AquaSoley
그래서 외부는 내가 본 유일한 방법이 될 것입니다 적용 내가 원하는 걸 얻기 위해서. – AquaSoley