1

Items私は 2 つのテーブルを持っています。 oneと one と呼びましょうInventory

このitems表には、 の列がありitem#、アクセサリ、ACC1ACC2およびの 3 つの列がありACC3ます。inventoryテーブルにはitem#と 数量が手元にあります。

これを次のように表示できるようにしたいと思います。

item#A Acc1 qtyonhand
item#A Acc2 qtyonhand
item#A Acc3 qtyonhand
item#B Acc1 qtyonhand

各ラインがアイテムであり、ユニークなアクセサリーになるように。Acc1、2、または 3 列が空の場合、行は表示されません。

これをSQLでどのように記述しますか?これらの正確な結果を得るために行ったすべての試みに失敗しました。

前もって感謝します!

4

2 に答える 2

0

単純な方法は、UNION を使用することです。

SELECT i.[item#], ACC1 AS ACC, [quantity on hand]
FROM items i
INNER JOIN inventory inv ON i.[item#] = inv.[item#]
WHERE ACC1 IS NOT NULL
UNION ALL
SELECT i.[item#], ACC2 AS ACC, [quantity on hand]
FROM items i
INNER JOIN inventory inv ON i.[item#] = inv.[item#]
WHERE ACC2 IS NOT NULL
UNION ALL
SELECT i.[item#], ACC3 AS ACC, [quantity on hand]
FROM items i
INNER JOIN inventory inv ON i.[item#] = inv.[item#]
WHERE ACC3 IS NOT NULL
于 2013-08-01T16:49:42.397 に答える