決して最高のものではありません。QTYが10を超えることはないと想定しています。これを行うためのより良い方法があります...しかし、PL\SQLまたはT-SQLが関与するため、単純なSQLの答えは考えられません。
Insert into yourTablename
(
(Select supplier, Qty From YourTableName where Qty-1 > 0)
UNION
(Select supplier, Qty From YourTableName where Qty-2 > 0)
UNION
(Select supplier, Qty From YourTableName where Qty-3 > 0)
UNION
(Select supplier, Qty From YourTableName where Qty-4 > 0)
UNION
(Select supplier, Qty From YourTableName where Qty-5 > 0)
UNION
(Select supplier, Qty From YourTableName where Qty-6 > 0)
UNION
(Select supplier, Qty From YourTableName where Qty-7 > 0)
UNION
(Select supplier, Qty From YourTableName where Qty-8 > 0)
UNION
(Select supplier, Qty From YourTableName where Qty-9 > 0)
UNION
(Select supplier, Qty From YourTableName where Qty-10 > 0)
)
さらに、これはワンショットディールです。これが最初にうまくいかない場合; データをクリーンアップしてから再試行する必要があります。(これも私のお気に入りの答えではありませんが、JUST SQLに限定しています...)