以下のSQLにおいて、表Cに存在するすべてのレコードを表示したいのですが、
表Aと表Cに存在するものしか表示されません。
表Cをメインとし、表示させる方法はありますでしょうか?
select
A.FITEMNO
from
A
, B
, B B2
, C
where
C.FCHILDITEMNO = A.FITEMNO(+)
and C.FPARENTITEMNO = B2.FITEMNO
and A.FITEMNO = B.FITEMNO
and B.FITEMTYP = 'P'
and (B2.FITEMNO = '123456789')
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
select
A.FITEMNO
from
A
, B
, B B2
, C
where
C.FCHILDITEMNO = A.FITEMNO(+)
and C.FPARENTITEMNO = B2.FITEMNO(+) /* (+)はいらない? */
and A.FITEMNO(+) = B.FITEMNO
and B.FITEMTYP(+) = 'P' /* (+)はいらない? */
and B2.FITEMNO(+) = '123456789' /* (+)はいらない? */
ん?Cの全件 × FITEMTYP = 'P'であるBの全件 の件数だけ出したいの?
もし、それでよければ上のSQLででると思いますが(未検証)、
left outer join を使ったほうがわかりやすそう。
from
(((C
left outer join B on B.FITEMTYP = 'P') /* ひょっとしてこれはInner Join? */
left outer join B B2
on C.FPARENTITEMNO = B2.FITEMNO and and (B2.FITEMNO = '123456789'))
/* ひょっとしてこれはInner Join? */
left outer join A on C.FCHILDITEMNO = A.FITEMNO and A.FITEMNO = B.FITEMNO)
こちらも未検証。left outer join B as B2 on・・・でないとだめだったかも。
No.2
- 回答日時:
#1です。
無試験ですが、以下のような感じかと。select
tbl2.FITEMNO
from
(
select A.FITEMNO
from A, B
where A.FITEMNO = B.FITEMNO
and B.FITEMTYP = 'P'
) tbl1,
(
select C.FCHILDITEMNO
from C, B B2
where
and C.FPARENTITEMNO = B2.FITEMNO
and (B2.FITEMNO = '123456789')
) tbl2
where
tbl2.FCHILDITEMNO = tbl1.FITEMNO(+)
;
#やっぱり、キーボード入力がらくちん
No.1
- 回答日時:
B、B2が足をひっぱっている。
FromにもSelectを書けます。
AとBを結合し、仮のテーブル1とする。
CとB2(Bのままで良い)を結合し、仮のテーブル2とする。
で、 仮のテーブル2.FCHILDITEMNO = 仮のテーブル1.FITEMNO(+)
仮のテーブルと書いたが、B2で用いたのと同じくエイリアスですよ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
他のテーブルを参照した値はupd...
-
unionの結果は集計はできないで...
-
MERGE文を単体テーブルに対して...
-
AccessからOracleへの外部結合
-
SELECTの結果で同一行を複数回...
-
SET句内で複数の条件を指定して...
-
SQLでの絞り込み検索
-
外部結合とor条件混在の記述方法
-
【SQL】SELECT文
-
結合と副問い合わせの違い
-
updateの一括実行
-
select文でフリーズします。
-
重複レコードの取得
-
SQL GROUPで件数の一番多いレコ...
-
SQL抽出の書き方について(一部...
-
MINUS の結果の rowid を取得し...
-
oracleの分割delete
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
SELECTの結果で同一行を複数回...
-
MERGE文を単体テーブルに対して...
-
固定値を含む結合と複数テーブ...
-
複数テーブルのMAX値の行データ...
-
他のテーブルを参照した値はupd...
-
unionの結果は集計はできないで...
-
外部結合とor条件混在の記述方法
-
oracleの分割delete
-
SET句内で複数の条件を指定して...
-
SQL GROUPで件数の一番多いレコ...
-
DELETE 文とEXISTSの使い方につ...
-
COUNTの取得方法(?)について...
-
集計後の数値が倍になる
-
SQLの書き方(チェックボックス)
-
unionでマージした副問合せを結合
-
副問い合わせのinsert文
-
結合と副問い合わせの違い
おすすめ情報