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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

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

Q&A

解決済

1回答

765閲覧

MySQLで検索対象が6件以上、検索元が5件の場合の検索方法

atLast

総合スコア14

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

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

0グッド

0クリップ

投稿2017/01/12 07:34

編集2017/01/12 09:31

質問を見てくださってありがとうございます。

MySQL環境下において、以下のようなデータがあるとします。

ID | n1 | n2 | n3 | n4 | n5 | n6 | n7 | n8
165| 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11

検索する数字は以下の通りとします。
'5', '7', '11', '9', '4'

IN句でやろうと思ったのですが、存在しないカラムもあるため

SQL

1SELECT 2 id 3FROM 4 mst_nin_s8 5WHERE 6 n1 IN ('5', '7', '11', '9', '4') 7AND n2 IN ('5', '7', '11', '9', '4') 8AND n3 IN ('5', '7', '11', '9', '4') 9AND n4 IN ('5', '7', '11', '9', '4') 10AND n5 IN ('5', '7', '11', '9', '4') 11AND n6 IN ('5', '7', '11', '9', '4') 12AND n7 IN ('5', '7', '11', '9', '4') 13AND n8 IN ('5', '7', '11', '9', '4')

のようなクエリでは、結果が0件となってしまいます。
トリッキーな考え方が必要かと思うのですが、思い浮かびませんでしたので、質問させていただきます。
SQL1発でIDを取得する方法はないでしょうか。

-------更新

検索する数字 '5', '7', '11', '9', '4' がn1〜n8のいずれかにすべて含まれているレコードを探したいということですか?

その通りです。

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

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

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

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

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

popobot

2017/01/12 07:43

検索する数字 '5', '7', '11', '9', '4' がn1〜n8のいずれかにすべて含まれているレコードを探したいということですか?
guest

回答1

0

ベストアンサー

要件が曖昧ですが、たぶん軸を逆にすればいいのではないかと

sql

1SELECT 2 id 3FROM 4 mst_nin_s8 5WHERE 6 '5' IN (n1,n2,n3,n4,n5,n6,n7,n8) 7AND '7' IN (n1,n2,n3,n4,n5,n6,n7,n8) 8AND '11' IN (n1,n2,n3,n4,n5,n6,n7,n8) 9AND '9' IN (n1,n2,n3,n4,n5,n6,n7,n8) 10AND '4' IN (n1,n2,n3,n4,n5,n6,n7,n8)

投稿2017/01/12 07:50

popobot

総合スコア6586

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

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

atLast

2017/01/12 09:48

曖昧な要件の中、回答ありがとうございました。 無事解決できました。 不明点があればまた質問させていただくことがあるかも知れませんが・・・ ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問