sql >> データベース >  >> RDS >> Sqlserver

カーソルの代わりの他の解決策

    「PROPOSED」値と同等の「CURRENT」値のシーケンス番号を取得するために、Numbers/Tally テーブルと同じくらい再帰クエリが本当に必要かどうかはわかりません。

    With 
        Numbers As 
        (
        Select Row_Number() Over ( Order By C1.object_id ) As Value
        From sys.columns As C1
            Cross Join sys.columns As C2
        )
        , ProposedSequences As
        (
        Select  NTRIId
            , Row_Number() Over ( Order By NTRIId ) As Sequence
        From Table
        Where NTRITCode = 'PROPOSED'
        Group By NTRIId
        )
        , CurrentSequences As
        (
        Select RID, NTRITCode, NTRIId, Parameter, Usage, Rate
            , Numbers.Value As Sequence
        From Table
            Cross Join Numbers
        Where NTRITCode = 'Current'
            And Numbers.Value <= (Select Max(Sequence) From ProposedSequence)
        )
    Select Sequence, RID, NTRITCode, NTRIId, Parameter, Usage, Rate
    From CurrentSequences
    Union All
    Select PS.Sequence, T.RID, T.NTRITCode, T.NTRIId, T.Parameter, T.Usage, T.Rate
    From ProposedSequences As PS
        Join Table As T
            On T.NTRIId = PS.NTRIId
    Order By PS.Sequence, T.NTRITCode
    


    1. ユーザーに関連するカテゴリごとの値を取得するにはどうすればよいですか?

    2. SQL Server 2008 GEOGRAPHY STDistance() 値

    3. タグクラウド用のMySqlテーブルを設計する方法は?

    4. MySQLデータベースに接続し、Juliaでデータをフェッチします