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

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

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

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

SQL

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

Q&A

解決済

3回答

1776閲覧

SQLでテーブル内の重複チェックを行いたいが、やり方がわからない

YYYQQQ

総合スコア54

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

SQL

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

0グッド

0クリップ

投稿2019/06/25 22:31

編集2019/06/26 00:14

(修正後の質問(テーブル名とカラム名を修正しました))
テーブルAとテーブルBをカラムa、bでレフトジョインします。ジョインしたテーブルの中で、テーブルBが持つカラムh、i、jの値が全て同一なものを探したいです。

例えば、以下のようなテーブルBの値が。ジョインしたテーブル内にあるかどうかをチェックしたいです。同一テーブル内での重複を確認したいです。
h=東京、i=ラーメン、j=来々軒

やり方がわからず、どうすればよいでしょうか。

create table A (
a char(1),
b char(1),
c char(1)
);

create table B(
a char(1),
b char(1),
h varchar(20),
i varchar(20),
j varchar(20)
);

(修正前の質問)
テーブルAとテーブルBをカラムa、bジョインし、テーブルBが持つカラムa、b、cの値が全て同一なものを、同じテーブル内で探したいです。

例えば、以下のような値が同じテーブル内にあるかどうかをチェックしたいです。
a=東京、b=ラーメン、c=来々軒

やり方がわからず、どうすればよいでしょうか。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/06/26 00:02

テーブル定義の追加
yambejp

2019/06/26 03:15

具体的なレコードおよび期待する結果をサンプルとしてつけてください 質問者さんのイメージと回答側の認識がずれています
guest

回答3

0

Group byしてHavingでCountが1より大きいものを抽出すればいいのでは?

投稿2019/06/26 01:30

gentaro

総合スコア8949

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

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

0

ベストアンサー

投稿2019/06/26 01:16

Naoko_Coco

総合スコア54

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

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

guest

0

SQL

1SELECT 2 TA.A 3 , TA.B 4 , TA.C 5FROM TABLE_A TA 6INNER JOIN TABLE_B TB 7ON TA.A = TB.H 8AND TA.B = TB.I 9AND TA.C = TB.J 10;

質問のテーブル定義はCREATE TABLE文で載せてください。
Oracle SQL 入門でググってきちんと勉強してください。

投稿2019/06/25 22:43

編集2019/06/25 23:59
Orlofsky

総合スコア16415

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

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

YYYQQQ

2019/06/25 23:03

違います、、カラムabcを持ってるのはテーブルbだけです。
YYYQQQ

2019/06/25 23:13

質問を修正しました。
YYYQQQ

2019/06/26 00:15

create文作りました。h、i、jの3項目が全て同じレコードをチェックしたいということです。回答者さんが、修正いただいた文は違います。
Orlofsky

2019/06/26 01:15

現行のデータをINSERTで、希望する出力結果も質問に追記してください。 CREATE TABLE, INSERT などのコードは https://teratail.com/help#about-markdown の [コードを入力] に修正してください。 Oracleでは VARCHAR → VARCHARで記述してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問