2012-05-08 7 views
1

ここには取引があります。私はテーブルT多くの列が2つの興味:gen_ID,ordernumberがあります。
gen_IDが同じで、ordernumberが空白の場合、このテーブルのレコードは常に5のグループになります。他のテーブルからテーブルを更新しないでください

だから、本質的に、それは次のようになります。

Gen_ID ordernumber 
233      
233  
233  
233  
233  
234  
234    
234    
234  
234  

今、私は実行、クエリQを持って、数字1、2、3、4、および5

Iをランダム化

Gen_ID ordernumber 
233  3 
233  4 
233  1 
233  2 
233  5 
234  4 
234  5  
234  3   
234  2 
234  1 
Etc... 

MS Accessの2010 SQLを使用してこれを行う方法上の任意のアイデア:それはこのようになりますQの乱数でordernumberを更新したいですか?

私は共通IDを持っていないので、Udateクエリはうまくいくが、私は2つに参加できない。
提案がありますか?テーブルに5つのレコードのセットが作成されると、私はこの魔法のクエリを実行できます(複数のセットがあると、これを行う必要はありません)。

答えて

2

これはSQLだけでは実現できないと思いますが、いくつかのVBが一緒に実行されている必要があります。私のアプローチは、 "配列"に格納されたランダムな順序で1〜5の数字を取得することです。次に、 "T"にレコードセットを開き、配列から番号を割り当てることによって1つずつ進んで行きます。また、このプロセスをループして、 "T"内の新しいGen_IDを検出したときに再度開始し、テーブル全体を1回のパスで入力することもできます。

+0

私はあなたが正しいことを恐れています。どのプロシージャを使用することも避けたいと思っていましたが、これがそうなるように見えます。参加する機能がなければ、SQLでしかアクセスできません。私はそこに聞いたことがない魔法の声明があることを願っていました...私は今日後でもう一度チェックするつもりですが、あなたの迅速な対応に感謝します。 – user1381066

関連する問題