동일한 크기로 상자에있는 제품을 넣기 위해 랙 공간을 제곱 한웨어 하우스가 있습니다.SQL Server를 사용하여 "공백으로 용량 확인"
크기가 다를 수있는 랙에 공간이 있으며 최대 값 X 박스형 제품을 넣을 수 있습니다. 공간의 크기는 가변적 일 수 있습니다. 그 이유는 내가 열 MaximumCapacity
테이블 공간이 있습니다.
시스템의 공간을 매핑하여 시스템의 용량이 남아 있는지 확인하고 내 공간에 다른 박스 제품을 저장할 수있는 랙을 신속하게 지정하려고합니다. 이것은 창고의 계층을 나타낼 수 있습니다
+ Warehouse (1 warehouse)
+ Racks (5 000 racks)
+ Spaces (10 000 spaces)
+ Products (1 to N per space)
내 공간 대 제품을 얻기 위해 SQL Server 2008보기를 수행하려고했습니다.
여기에 보유 할 수있는 제품 수를 지정하는 MaximumCapacity
열이있는 공간 테이블이 있습니다. ProductLocation
이라는 테이블이 있습니다.
왼쪽 공백을 사용하여 내 공백과 모든 공백 또는 제품의 할당 또는 위치를 검색합니다. 더 이상 방 공간을 검색하는 네트워크 트래픽을 방지하기 위해,
SELECT
s.ID, s.Code,
s.MaximumCapacity,
pl.ProductCode
FROM
Space s
LEFT JOIN
ProductLocation pl ON s.ID = pl.SpaceID
이
이 데이터는 C#에서 더 나은 방식으로 재 배열이Code - Maximum capacity - ProductCode
-----------------------------------------
SPACE 1 - 4 - PRODUCT1
SPACE 1 - 4 - PRODUCT2
SPACE 2 - 8 - PRODUCT3
SPACE 3 - 2 - PRODUCT4
SPACE 3 - 2 - PRODUCT5
뭔가를 반환하지만, 요점은 제품의 경우 사용 가능한 용량으로 레코드를 검색하려고합니다. 나는 성공하지 않고 알아 내려고 노력했다. 결과의 예에서 SPACE3의 최대 용량은 2이며 이미 2 개의 제품이 있습니다 (PRODUCT4 및 PRODUCT5).
나는 필터링 할 수 있습니다 방법 (WHERE) 마지막으로 얻을 수있는 공간의 최대 용량을 기준으로이 2 개 마지막 행을 피하기 위해이 : 내가없는 모든 불필요한 공간을 검색하는 성능 문제가
Code - Maximum capacity - ProductCode
-----------------------------------------
SPACE 1 - 4 - PRODUCT1
SPACE 1 - 4 - PRODUCT2
SPACE 2 - 8 - PRODUCT3
더 많은 방.
미리 감사드립니다.
ProductLocation 테이블의 각 제품이 정확히 1 개의 공간을 차지합니까? 그렇지 않다면, 소요되는 공간의 양은 어떻게 결정됩니까? – RBarryYoung
공간은 최대 용량으로 구성되어 있습니다 (3). 그러면 ProductLocation은 해당 용량 공간의 일부를 나타냅니다. 따라서 ProductLocation에 2 개의 제품을 추가하면 1 개의 제품에 대한 공간이 생깁니다. 1 개 더 제품을 추가하면. 제품 수 = 3 대 공간 용량 = 3이면 행을 건너 뜁니다. –
그래서, 네? ProductLocation의 각 제품/행은 공간 테이블에서 MaximumCapacity의 정확히 한 공간을 차지합니까? – RBarryYoung