SQL ServerのSQLは非常に巧妙になっているため、純粋なSQLで手続き型の解決策が必要な場合があります。これがその時代かどうか疑問に思っています。
STATESテーブルとCITIESテーブルがあるとします。ランダムな結果のさまざまな数でSQL Serverのランダム結合
STATES:
State: NY
CITIES
State: NY
City: Armonk
今度は、3番目の表で物事を複雑にしてみましょう:取扱説明書
INSTRUCTIONS
State: NY
HowMany: 17
State: NJ
HowMany: 11
3つの表は、国家に接合する際CITIESテーブルからランダムにHowMany
都市を選択するためのSQL ServerのSQLのいずれかの方法はあります?
「トップN」は事前にわかりません。それは州によって変わります。
もちろん、状態テーブルには50州すべてがあり、都市ごとに各都市のすべての都市があり、命令は州ごとに1つのレコードを持ち、その州からいくつの都市が必要なのかをランダムに選択します。
P.S.試料所望の結果(NY指示を想定するhowManyが= 5であり、ニュージャージー州の指示がhowManyが= 4、及びorder by STATES.state
である):次いで
NJ.....Princeton
NJ.....Newark
NJ.....Camden
NJ.....Princeton
NY.....Armonk
NY.....Schenectady
NY.....White Plains
NY.....Niagara Falls
NY.....Rochester
あなたがサンプル望ましい結果を投稿できますか? –
"命令には状態ごとに1レコードがあります" なぜ2つのテーブルを使用するのですか? HowManyはINSTRUCTIONSからSTATESテーブルに移動できました。 –
@Kjetil S.同意しましたが、この時点でリファクタリングする必要はありません。 – Tim