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

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

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

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

Q&A

1回答

996閲覧

【SQL】ある条件を求めるSQL文

Ritz_Malheur

総合スコア11

SQL

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

0グッド

0クリップ

投稿2016/05/16 08:54

質問させてください。

添付のテーブルについて、
「[契約タイプ]と[部署]が同じ」
かつ、
「[入社日]が違うレコードが2個以上あるもの」
を求めたい場合、どのようなSELECT文になりますでしょうか?

宜しくお願いいたします。イメージ説明

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

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

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

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

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

hirohiro

2016/05/16 09:11

6が省かれて5が抽出されている理由は何でしょうか? 条件を忠実に再現すると6も抽出されると思うのですが...
Ritz_Malheur

2016/05/16 09:24

hirohiro様> コメントありがとうございます。 5と6に関しては、『入社日』が同じであるため、 『登録No』の値が小さい5の方のみ抽出されると考えました。 私の考えがそもそも間違っていたら申し訳ありません・・・
guest

回答1

0

SQL文を作ってくださいという内容でしたら、少しサイトの趣旨とずれるように思います。禅問答のようになりますが、次のような回答で。

exists 句を使って、「[契約タイプ]と[部署]が同じで[入社日]が違う」レコードが存在するレコードを抽出するようなSQL文を作成すれば良いかと思います。
SQLのexists句を調べると方向性が見えてくるのでは無いかと思います。

だたこれだけですと6も選ばれますので、期待結果と同じにする場合は
上記をサブクエリにして、そこから更に 「[契約タイプ]と[部署]と[入社日]」全てが同じ場合は登録Noが若い方を採用するような条件で絞り込む必要があります。

投稿2016/05/16 10:11

hirohiro

総合スコア2068

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

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

Ritz_Malheur

2016/05/16 10:21

hirohiro様 ご回答ありがとうございます。 質問の形が不適切であり、失礼いたしました。 自分では解決に至らず、人任せな質問内容になってしまいました。 申し訳ございません。 『exists』の存在を知りませんでした。 学習し、期待するSQLが作れるようになりたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問