
お世話になります。
SQLサーバ2000から、SQLサーバ2008への移行を行っております。
以下のようなSQL文は2000では許容されていたようで、問題なく(?)稼働していただのですが2008に移行したら軒並みエラーになってしまいました。
エラーで稼働確認が進まないので、修正方法を検討しているのですが、まだSQLサーバが使えない環境で確認ができません。
2000が来てから確認する予定ではありますが、以下の通りで新旧・同様のソート順になると考えて問題ございませんでしょうか。
教えていただけると幸甚です。
【例1】
SELECT DISTINCT ISNULL(T1.C1,""),T1.C2 FROM T1 ORDER BY T1.C1
→ORDER BY 項目を ISNULL(T1.C1,"")に変更
【例2】
SELECT DISTINCT T1.C1,T1.C2 FROM T1 ORDER BY T1.C1,T1.C3
→ORDER BY 項目から T1.C3 を削除する
以上です。宜しくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
【例2】はホントのSQL文ですか?selectする列とOrder Byの列が合ってません。
やはり実機で、シンプルな検証データ・テーブルで確認をしたほうが良いでしょう。
OracleだとOrder By をselectする列番号で指定できましたが、SQLServerはどうでしたっけ。
SELECT DISTINCT ISNULL(T1.C1,""),T1.C2 FROM T1 ORDER BY 1
ご回答ありがとうございます。
やはり【例2】は不思議な感じですよね。。
SQLサーバー2008でも動きません。
SQLサーバ2008は使用できる環境はあるのですが、SQLサーバー2000が使用できる環境がまだ用意できていなく、2000と同様の動きになるように修正したいのですが確認できない状況です。
教えていただいた、SELECT DISTINCT ISNULL(T1.C1,""),T1.C2 FROM T1 ORDER BY 1 (列番号指定)はSQLサーバーでも使用可能です。
SQLサーバ2008でそのように修正して動かした場合、SQLサーバー2000にて【例1】で動かした場合と同様のソート順になるのかご教授いただければ、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UPDATE文のWHERE条件に他のテー...
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
Access:クエリーにて集計後に...
-
SQLで列名を変数にできないでし...
-
複数列の最大値を求めたい
-
テーブル列数とデータファイル...
-
SQLによる"あいうえお"順でソー...
-
列番号による項目の取得について
-
特定の文字列で列を区切るには?
-
SQLです教えてくださいお願いし...
-
列のヘッダーを含めるのをデフ...
-
DB2のSQL
-
Accessのリストボックスについて
-
ふと疑問
-
ストアドプロシージャに複数のS...
-
SQLのクエリ、又はプロシージャ...
-
SQL Server 2008 を使用してい...
-
Excel の簡単な操作について
-
excelでの条件抽出がうまくいき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
UPDATE文のWHERE条件に他のテー...
-
SQLで列名を変数にできないでし...
-
列番号による項目の取得について
-
列のヘッダーを含めるのをデフ...
-
Access:クエリーにて集計後に...
-
【VB.NET】日付型の列にNULLを...
-
SQLによる"あいうえお"順でソー...
-
テーブル列数とデータファイル...
-
Excel の簡単な操作について
-
ふと疑問
-
特定の文字列で列を区切るには?
-
v$processのPROGRAM列に関する質問
-
複数列の最大値を求めたい
-
エクセルでワイルドカード検索...
-
Accessでの全データから空白削除
-
列の数字を足し合わせたい
-
EXCEL 集計の方法
-
SQL文の関数らしいのですが、意...
おすすめ情報