質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

2回答

220閲覧

Oracleとpostgressの条件句について

hirano_7

総合スコア38

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

1クリップ

投稿2018/03/19 23:44

postgressの買上情報テーブルから店舗、購入日時、商品コードを取り出したいです。
下記のような条件で、商品コードを取り出すにはどのような検索にすれば一番処理が少なく済むでしょうか。

postgress:
買上情報テーブル
(カラム:購入店舗番号、購入日時、商品コード、更新日時)
oracle:商品テーブル
(カラム:商品コード、商品名)

where句で、
買上情報テーブル.商品コード = 商品テーブル.商品コードという条件を付与したい

元々、買上情報テーブルはOracle側にあり、
上記条件が使えていたのですが、移行をすることになりpostgressになりそのままでは使えなくなりました。

この場合、各テーブルから商品コードのみを取得してアプリケーション側で比較し、一致した値で再度買上情報テーブルから検査するする、といった処理を考えたのですが、一回で検索する方法がもしあればご教示頂きたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

外部テーブル(oracleで言うところのDATABASE LINK)を使用すれば、postgresのテーブルとして参照できます。

postgres_fdw

ただ、性能が出せるように工夫はされていますが、内部と外部のテーブルに結合等条件などがあると、単独での問い合わせを組み合わせるより低速なようです。

投稿2018/03/20 00:47

sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2018/03/22 12:12

あ、oracleからpostgres参照ですね。冒頭に書いてあるのに、思い込んでました。
guest

0

ベストアンサー

CREATE TABLEや数件で良いからINSERTも提示された方が適切なコメントがつくのでは?

SQL

1CREATE TABLE KAIAGE_JOHO --買上情報テーブル 2 ( 3 KONYU_TEMPO_NO NUMBER NOT NULL -- 購入店舗番号 4 , KONYU_NICHIJI DATE NOT NULL -- 購入日時 5 , SHOHIN_CD NUMBER NOT NULL -- 商品コード 6 , KOSHIN_NICHIJI DATE NOT NULL -- 新日時 7 ) ; 8 9CREATE TABLE SHOHIN -- 商品テーブル 10 ( 11 SHOHIN_CD NUMBER NOT NULL -- 商品コード 12 , SHOHIN_MEI VARCHAR(30) NOT NULL -- 商品名 13 ) ; 14 15SELECT 16 KJ.KONYU_TEMPO_NO 17 , KJ.KONYU_NICHIJI 18 , KJ.SHOHIN_CD 19FROM KAIAGE_JOHO KJ 20INNER JOIN SHOHIN@DBLINK1 SH 21ON KJ.SHOHIN_CD = SH.SHOHIN_CD 22;

投稿2018/03/19 23:58

編集2018/03/20 00:00
Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hirano_7

2018/03/22 12:02

ご回答ありがとうございました。 ご教示頂いた方法で結合できました。 そして、こちらの質問や過去の質問にて自分の不手際に関して御指摘頂きありがとうございました。 気持ちが焦ってしまって、雑な質問ばかりしていました。 ご迷惑をおかけしてしまって申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問