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

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

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

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

3回答

939閲覧

SQL 外部キーが重複していないレコードのみを取り出したい

rua

総合スコア5

Oracle Database

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2020/01/22 02:35

前提・実現したいこと

例えば
メインのテーブルで項目が
学校名、住所として、
データが、
(A,111-1111)
(B,222-2222)とします。

次に、サブのテーブルと学校名で結合されており項目が、
学校名、生徒名、年齢としたら、
データが、
(A,山田さん,16)
(A,佐藤さん,15)
(B,高橋さん,17)

この場合に、サブテーブルで重複していない
(Aは2つあるので、Bのデータだけを取り出すことはできるでしょうか。)

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

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

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

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

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

guest

回答3

0

ベストアンサー

以下の様なSQLになるかと思います。

SQL

1select * from テーブル 2where 学校名 in ( 3 select 学校名 from サブテーブル 4 group by 学校名 having count(*)=1 5   )

投稿2020/01/22 03:32

sazi

総合スコア25195

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

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

rua

2020/01/22 04:40

ありがとうございます! 求めていた結果が得られました!!
guest

0

oracle環境がないので2つ

sql

1create table tblA (id varchar, address varchar); 2insert into tblA values ('A','111-1111'), ('B','222-2222'); 3create table tblB (id varchar, name varchar, age int); 4insert into tblB values ('A','山田さん',16),('A','佐藤さん',15),('B','高橋さん',17); 5 6select * from tblA join tblB 7ON tblA.id=tblB.id and (select count(*) from tblB where id=tblA.id)=1; 8 9select * from tblA, tblB where tblA.id=tblB.id 10and (select count(id) from tblB where id=tblA.id)=1;

投稿2020/01/22 04:20

amura

総合スコア333

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

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

0

学校名でgroup byしてhavingでcount(*)=1のレコードをとってください

投稿2020/01/22 02:45

yambejp

総合スコア114843

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

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

rua

2020/01/22 03:04

例題とデータ環境が異なるのかできませんでした。
yambejp

2020/01/22 03:13

もやっとした情報しかないので上記が限界です create table,insertでサンプルおよびほしい結果を 質問文に追記ください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問