たとえば、
select A.field1, B.field1
from
(select field1 from table1 where field2='x') A,
(select field1 from table2 where filed2='y') B
where A.field2=B.field2;
のようなことをしたいのですが、
Oracleだとこの方法でデータを取ってこれるのですが、PostgreSQLだとエラーで返ってきてしまいます。
PostgreSQLのバージョンは6.5.3です。
バージョンが上がると上記の書き方も通るようになるのでしょうか?
また、上記の書き方と同じ意味を持つ他の書き方をご存知でしたら教えてください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
提示されている例だと何も選択される行はありませんが…。
(^^;というツッコミは別にしてこれを書きかえてみると
SELECT A.field1, B.field
FROM table1 A, table2 B
WHERE A.field2 = B.field2
AND A.field2 = 'x'
AND B.field2 = 'y'
となります。
カラムの選択条件(WHERE句)に副照会が必要でない限り、outer join等を駆使すれば大抵のものは副照会なしで書けると思います。
うわ。確かに。
質問文のSQL文はこうかも。訂正。
select A.field1, B.field1
from
(select field1, field2 from table1) A,
(select field1, field2 from table2) B
where A.field2=B.field2;
実は、文に明示していないフィールド名(たとえばfield3があったとしてfield3)はwhere文で使ってはいけない、という思い込みをしていたんです。今思うとバカです。解決しました。どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 日本の全市区町村を人口密度が低 1 2023/06/18 19:51
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
oo4oを使ったOracleへのデータ...
-
SQLローダーCSV取込で、囲み文...
-
select文の実行結果に空白行を...
-
レコードの登録順がおかしい
-
where句中のtrim関数について
-
Oracleで「文字が無効です」の...
-
テーブルの最後(最新)のレコー...
-
<SQL>重複しているデータの場合...
-
AccessのSQL文で1件のみヒット...
-
単一グループのグループ関数で...
-
ファイルの漢数字の順番につい...
-
【PL/SQL】FROM区に変数を使う方法
-
アクセスのレポートでレコード...
-
これをSQL文で出来るでしょうか?
-
トランザクションログを出力せ...
-
SELECTした合計値をそのまま割...
-
大量レコードをTRUNCATEせずに...
-
SQLで条件にヒットしたレコード...
-
SQL文 複数実行
-
コンボボックスのソートについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6のオラクルのバインド変数
-
oo4oを使ったOracleへのデータ...
-
指定文字を太字にするVBAを別シ...
-
配列への分割方法
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
select文の実行結果に空白行を...
-
テーブルの最後(最新)のレコー...
-
count関数の値をwhere句で使用...
-
【PL/SQL】FROM区に変数を使う方法
-
SELECT FOR UPDATE で該当レコ...
-
2つの列が同じ値の行を取得するSQL
-
レコードの登録順がおかしい
-
<SQL>重複しているデータの場合...
-
AccessのSQL文で1件のみヒット...
-
アクセスのレポートでレコード...
-
where句中のtrim関数について
-
複数のテーブルから値を合計出...
-
エクセル、並び替え正しくソー...
-
Oracleで「文字が無効です」の...
おすすめ情報