我已经获得了这些物品可以进入的物品清单和两个地点(X和Y)。这两个地点的物品数量不同。 因此,当有人为一些物品下订单时,可以从这两个地点中的任何一个拉出物品。
以下是'订单'我已经创建了表格,但它显示了两个位置和两个位置和可用库存。
ItemNumber Location Stock X Stock Y
A X 12 32
B X 10 54
C X 5 23
A Y 54 30
C Y 65 36
D Y 76 23
E X 12 31
F X 32 19
F Y 72 40
我希望看到的是列中所请求位置的可用库存,而不是上面我已完成的两列中的位置和库存可用性。 结果表我想看的是,
ItemNumber Location Avail Stock
A X 12
B X 10
C X 5
A Y 30
C Y 36
D Y 23
E X 12
F X 32
F Y 40
我无法理解这一点。伟大的,如果有人可以帮助或告诉我,如果它甚至可能。
由于
答案 0 :(得分:3)
您可以使用CASE WHEN
表达式:
SELECT ItemNumber,
Location,
CASE WHEN Location = 'X' THEN [Stock X]
WHEN Location = 'Y' THEN [Stock Y]
END Avail_Stock
FROM Orders
答案 1 :(得分:0)
您拥有union
标记,因此:
SELECT ItemNumber,
Location,
[Stock X] AS Avail_Stock
FROM Orders
WHERE Location = 'X'
UNION
SELECT ItemNumber,
Location,
[Stock Y] AS Avail_Stock
FROM Orders
WHERE Location = 'Y'