나는 다음과 같은 데이터 테이블이있는 경우SQL 가장 높은 값을 얻을 연결할
ProductID,StockOnSite,StockOffsite
1 83 81
1 98 85
1 112 101
2 81 85
2 115 83
2 115 101
내가 만들 StockOffsite로 최고 제품 ID 당 StockOnSite합니다 (StockDifference 계산) 레코드와 concatinate StockOnSite를 얻을 수있다 할 필요 열은 StockInfo
출력 필요
ProductID,StockOnSite,StockOffsite,StockDifference,StockInfo
1 98 85 13 98/85
2 115 83 32 115/83
SQL 나는
,536,913,632와 함께 올라와있다 10select ProductID
,StockOnSite
,StockOffsite
,StockDifference = max(StockOnSite - StockOffsite)
from Product
group by ProductID, StockOnSite, StockOffsite
여기에서 어디로 가야할 지 모르겠습니까?
감사
아래 테이블과 데이터를 구축하는 쿼리입니다 :
CREATE TABLE Products
(
ProductID int NOT NULL,
StockOnSite int NOT NULL,
StockOffsite int NOT NULL
)
insert into table Products(ProductID, StockOnSite, StockOffsite) values(1,83,81)
insert into table Products(ProductID, StockOnSite, StockOffsite) values(1,98,85)
insert into table Products(ProductID, StockOnSite, StockOffsite) values(1,112,101)
insert into table Products(ProductID, StockOnSite, StockOffsite) values(2,81,85)
insert into table Products(ProductID, StockOnSite, StockOffsite) values(2,115,83)
insert into table Products(ProductID, StockOnSite, StockOffsite) values(2,115,101)
이 왜 제품 1 98 선택 않았다
쿼리는 같은 재고의 차이가 1 개 이상의 제품에서 발생하는 경우 혼동하지 않도록 제품을 추적 할 필요가 있겠습니까? 당신이 가장 높은 차이를 찾고 있기 때문에 그런 것입니까? – dasblinkenlight
어떤 DBMS를 사용하고 있습니까? 포스트그레스? 신탁? –
ProductID 1의 차이는 98-85 = 13입니다. – user142617