0
クライアントのテストデータをCustomer -< Booking
の形式で生成しています。達成しようとしているのは、1カスタマーあたりの予約数を1から25までランダムに生成することです。親行ごとの行のランダムなカーディナリティ
テーブルのテストデータを既に生成しているので、n <= ABS(CHECKSUM(NEWID())) % 25
を数値表の結合条件として使用して、行ごとにランダムな基数を生成できると考えましたが、15分以上かかるため、戻る。理想的には、できるだけこれを2分未満に減らしたいと思います。次のように
私の石畳の試みは、次のとおりです。
;WITH CTE_BookingCounts AS (
SELECT
CustomerId,
ABS(CHECKSUM(NEWID())) % 25 AS R
FROM dbo.Customer
)
SELECT
B.CustomerId,
N.n AS BookingIndex
FROM dbo.Customer C
INNER JOIN CTE_BookingCounts BC ON BC.CustomerId = C.CustomerId
INNER JOIN #numbers N ON N.n <= BC.R;
、誰もがそれが存在する場合、私は、このクエリあるいは全く異なるアプローチを再構築する方法を提案することができますか?
おかげで、しかし、私はあなたが私はCTEまたは#numbersテーブルをドロップする必要があります示唆しているかどうかについて混乱しています。 –
@ChrisPickford。 。 。私は自分自身を混乱させた。アイデアは、数値表ではなくCTEを取り除くことです。 –