テーブル内の列ではなく順序付けられた行を取得する方法があるかどうか疑問に思っていました(使用する簡単なオプションなどはありませんORDER BY
)。
両方試してみました
SELECT *
FROM table
WHERE column IN ('A', 'B', 'C')
と
SELECT *
FROM table
WHERE column = 'A' OR column = 'B' OR column = 'C'
次に、SqlDataReader
私のC#アプリケーションでは、データベースに書き込まれた日付の順序で(おそらく)「C」、「A」、「B」のように行が順番に表示されます。
私が意味したのは、アルファベット順ではなく、各変数自体がクエリで示す順序です。
SQL Server の初心者の私には、構文を詳細に検索するのは容易ではありません。また、私はここでスタック オーバーフローに慣れていないので、間違いがあれば教えてください。いただければ幸いです。
前もって感謝します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
私の悪い。与えられた例はちょっとあいまいでした。より明確なものを提供しましょう。
SELECT *
FROM table
WHERE column IN ('r2', 'r4', 'r3', 'r1')
そして、SqlDataReader
オブジェクトが最初に「r2」、次に「r4」、「r3」、そして「r1」を読み取るようにします。
アプリケーションは、ループを使用して単一の行ごとにクエリを実行することでこれを行っていましたが、パフォーマンスが低下するのではないかと心配していました。