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

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

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

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

Q&A

解決済

2回答

1436閲覧

sqlで特定の要素を含むユーザーを抽出する方法

milcovich

総合スコア11

SQL

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

0グッド

0クリップ

投稿2018/04/20 03:08

はじめまして、現在sqlでユーザーIDとユーザーの活動ログが記載されたテーブルから、特定の活動ログが記録されているユーザーの情報を抽出しようとしています。
データとしては
ID 食事 
1 ラーメン
1 カレー 
1 パスタ
2 パスタ
2 カレー
2 ラーメン
2 A定食
3 カレー
4 B定食
4 カレー
5 パスタ
5 C定食
5 ラーメン

このようなテーブルがあったとして、ラーメンを食べたユーザーの食事ログをすべて抽出したいのです。
つまり、クエリを実行した際に

ID 食事 
1 ラーメン
1 カレー 
1 パスタ
2 パスタ
2 カレー
2 ラーメン
2 A定食
5 パスタ
5 C定食
5 ラーメン

このように、ラーメンを食べたユーザーのデータのみを残したいと考えています。
whereでラーメンを指定すると、ラーメンを食べた際のログしか残らないため、どのような条件式をかけぼ良いのか悩んでおります。

よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

  • 元データ

SQL

1create table tbl(ID int,食事 varchar(10)); 2insert into tbl values 3(1,'ラーメン'), 4(1,'カレー'), 5(1,'パスタ'), 6(2,'パスタ'), 7(2,'カレー'), 8(2,'ラーメン'), 9(2,'A定食'), 10(3,'カレー'), 11(4,'B定食'), 12(4,'カレー'), 13(5,'パスタ'), 14(5,'C定食'), 15(5,'ラーメン');
  • 検索
select * from tbl as t1 where exists( select 1 from tbl as t2 where 食事='ラーメン' and t2.ID=t1.ID );

投稿2018/04/20 03:38

yambejp

総合スコア114819

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

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

0

パッと思いついたやつなんですが

SELECT * FROM "ログ" WHERE ID IN (SELECT DISTINCT ID FROM "ログ" WHERE 食事 = 'ラーメン')

サブクエリ内でラーメン食べた人のユーザIDを取ってきて、
そのユーザIDのログを取ってくるような感じです。

投稿2018/04/20 03:19

編集2018/04/20 03:35
balaenoptera

総合スコア222

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問