シナリオ:mysqlのフィルタ行リンクテーブル内
私はメインテーブルを持っている、「items
」と言います。各項目は多くの種類があり、私はテーブル "types
"とリンクテーブルを使用して、2つの間の関係、典型的な1対多の状況で "items_types
"の関係を保ちます。さて、各タイプは、1対1の関係を持つスーパータイプを持っています。
items: i_id, i_name
types: t_id, t_name, t_st_id
items_types: it_id, it_i_id, it_t_id
supertypes: st_id, st_name
今私は、与えられたセット内の少なくとも一つのスーパータイプに関連するすべての項目をフィルタリングする必要があり、私は上group_concat
を使用することを考えていますIDS 1,2,3
とスーパータイプを言います関連するスーパータイプのIDを取得し、次にWHERE
句を使用して複数のFIND_IN_SET
を使用してフィルタリングするか、または相互にフィルタリングします。
しかし、これが機能していれば、クエリが遅くなり、文字列であるかのようにidを比較するのは嫌いです。
良いSQL質問に答える方法については、次のガイダンスを参照してください。http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-私にとって非常にシンプルなSQLクエリー – Shadow
テーブルのための小さなサンプルデータセットとあなたが望む出力の例を私たちに提供できるなら、非常に役に立ちます。 – Santi
ありがとう、申し訳ありません、私はここに自分で質問を投稿するのは初めてです。しかし、私は私の問題のより良い解決策を見つけました。下記を参照してください –