
No.1ベストアンサー
- 回答日時:
それ、使いたいですよね。
でもSQL Serverでは使えないみたいです。group byの中にcase...endを丸ごと書き入れれば同じことができるのですが、同じことを2回書かないといけないのは見た目が冗長なだけでなくメンテナンス性も下がりますし、なによりgroup byの中身がちょっとでも変わるとちゃんと文句を言う(つまり、2回とも本当に全く同じかどうか、SQL Serverはちゃんとチェックしている)というのが、釈然としないところです。別名を使わせてくれれば全部解決するのに。
なお、同じく若干冗長な表現になりますが、こういう書き方もできます。(SQL Server 2000以上。SQL Server 7.0だとどうかな・・・6.5以前では使えません。)
select a, x from
(select a, case...end as x from table) as tablex
group by a, x
こうすると、「カラムaとカラムxを持つ中間的なテーブルtablex」が外側のselectで仮定されるので、カラムxをgroup byで使うことができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カラムの存在チェック
-
データを削除しても表領域の使...
-
DELETE文でFROM句を省略した場合
-
Viewにインデックスは張れ...
-
Data Pump で大量データインポ...
-
複数企業が利用するOracleの構...
-
列が255以上のCSVファイルをAcc...
-
SQL*Loaderで、データを加工し...
-
datapumpの実行方法について
-
他の処理でselectさせないよう...
-
エクセルからアクセスにインポ...
-
Access レコードを追加できませ...
-
INDEXの無効化
-
RDBのテーブル種類の違い
-
(ACCESS)複数mdbからのデータ...
-
Access2013で操作ログを残した...
-
ACCESS 複数テーブル・複数フィ...
-
シノニムってエイリアスのエイ...
-
データ削除の方法
-
異なるスキーマからデータを抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カラムの存在チェック
-
select count(*) の性能
-
MySQLでのテーブル作成
-
INSERT時に発番を行いたい
-
GROUP BY で列名は指定できない...
-
カラム情報とはなんですか?
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
ORA-00959: 表領域'****'は...
-
CLOB型へのINSERT
-
異なるスキーマからデータを抽...
-
Data Pump で大量データインポ...
-
datapumpの実行方法について
-
DELETE文でFROM句を省略した場合
-
ACCESS 複数テーブル・複数フィ...
-
postgreSQLのint型は桁数指定が...
-
INDEXの無効化
-
Access レコードを追加できませ...
-
SQLでスキーマ名(所有者名)の...
-
SQL*Loaderで、データを加工し...
おすすめ情報