我有一个STOCK
看起来像这样的表:
PRODUCT SALES_CODE STOCK_1 STOCK_2 STOCK_3
-----------------------------------------------------
A 6-10 0 1 2
有很多STOCK_X
桶,但为了简单起见,我已经排除了。
现在我有另一张桌子SIZE_GRID
:
SALES_CODE SIZE_1 SIZE_2 SIZE_3
--------------------------------------
6-10 6 8 10
正如您可能已经猜到的那样,这些是按尺寸划分的特定产品的现有库存。
我需要从第一个表中获取 STOCK 值,并从第二个表中获取大小。最初,我正在执行以下操作
SELECT
STOCK.PRODUCT,
SIZE_GRID.SIZE_1,
STOCK.STOCK_1
FROM
STOCK
INNER JOIN
SIZE_GRID ON
SIZE_GRID.SALES_CODE = STOCK.SALES_CODE
UNION ALL
SELECT
STOCK.PRODUCT,
SIZE_GRID.SIZE_2,
STOCK.STOCK_2
FROM
STOCK
INNER JOIN
SIZE_GRID ON
SIZE_GRID.SALES_CODE = STOCK.SALES_CODE
UNION ALL
SELECT
STOCK.PRODUCT,
SIZE_GRID.SIZE_3,
STOCK.STOCK_3
FROM
STOCK
INNER JOIN
SIZE_GRID ON
SIZE_GRID.SALES_CODE = STOCK.SALES_CODE
我有大约 40 个 STOCK_X 需要检索,所以如果有更简单的方法可以做到这一点?最好我想使用纯 SQL 而不是 UDF/SP。