

以下の項目を抽出するSQL文を色々考えているの
ですが、どうしても思い浮かびません。ぜひとも
ご教示いただきたく存じます。使用データベースは
PostgreSQL7.2です。
テーブル構成は以下のとおりです。
事業コード 部署コード 情報コード
01 02 01
01 02 02
01 02 03
02 05 01
02 05 02
02 05 05
02 07 02
02 07 03
02 07 06
以上のようなテーブルから、「情報コード02と03の
両方をもつ事業コードと部署コードの組み合わせ」を
求めるSQLを記述したいのです。この結果は
事業コード 部署コード
01 02
02 07
となります。
以上のような説明でご理解いただけますでしょうか。
足りない情報などがありましたらご指摘ください
ませ。
宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
事業コード, 部署コード, 情報コードでユニークとなるのであれば、
select 事業コード, 部署コード
from TBL1
where 情報コード in ('02', '03')
group by 事業コード, 部署コード
having count(*) = 2
ユニークにならないのであれば、
select 事業コード, 部署コード
from (
select distinct 事業コード, 部署コード, 情報コード from TBL1
) as WK
where 情報コード in ('02', '03')
group by 事業コード, 部署コード
having count(*) = 2
こんな感じかなぁ。
ちなみにPostgreSQLを動かす環境がないので、動作するかは不明です(^^;
ご回答ありがとうございます。事業コード, 部署コード, 情報コードでユニークですので最初にご提示いただいたSQLを試したらうまくいきました。ありがとうございました。havingを使うのですね。参考になりました。
No.1
- 回答日時:
こんなのはどうでしょうか。
select tmp1.a tmp1.b from
(select 事業コード as a, 部署コード as b from xxxtable where 情報コード='02') as tmp1,
(select 事業コード as a, 部署コード as b from xxxtable where 情報コード='03') as tmp2
where tmp1.a=tmp2.a and tmp1.b=tmp2.b;
パフォーマンスは無視してます。
ご回答ありがとうございます。もっと複雑なクエリーになると思いましたが、意外に簡単なものですね。パフォーマンスの問題はハードウェアでカバーできると思うので、なによりもわかりやすさ重視です。その点でとても参考になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access終了時の最適化が失敗?
-
同一コード毎に最新の名称を取...
-
沿線コード
-
XPアップロード後のアクセスの...
-
CREATE テーブルでの複数外部...
-
OracleのSQL*PLUSで、デー...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
ADO VBA 実行時エラー3021
-
SELECTで1件のみ取得するには?
-
Accessで別テーブルの値をフォ...
-
ワードの差込印刷で教えて下さ...
-
"カレントレコードがありません...
-
固有レコード識別子の選択とは
-
実績累計の求め方と意味を教え...
-
SQL文で右から1文字だけ削除す...
-
unionでマージした副問合せを結合
-
SET句内で複数の条件を指定して...
-
アクセスでレポートの1印刷内...
-
DataGridViewの内容をDBに反映...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access終了時の最適化が失敗?
-
CREATE テーブルでの複数外部...
-
Order by句でバインド変数を使...
-
沿線コード
-
Access2000の重複チェック
-
SQL文の書き方
-
10営業日前の日付を取得したい...
-
DLookupの設定で・・・
-
また正規形について。
-
ヤマト急便のチェックデジット...
-
Access2007 データ型エラーに...
-
Access Dlookup関数について
-
WordPress(ワードプレス)に関...
-
SQLの題材
-
困っています。ORACLE_SQL 複数...
-
oracleでは出来るけど、access2...
-
平成20年 春期 基本情報技術者 ...
-
同一コード毎に最新の名称を取...
-
Excelファイルのデータをテーブ...
-
【SQL】またぎデータの検索の仕方
おすすめ情報