0

問題は、複数のカテゴリに基づいて特定のビジネスを見つけることです。以下は私のmysqlテーブルです:

business_tbl:

id | business_name | cat_id | cat2_id | cat3_id | sub_cat_id | sub_cat2_id | sub_cat3_id
1       bz1            1      2          3         1001          2001         3001
2       bz2            1      2          3         1002          2002         3002
3       bz3            1      2          3         1003          2003         3003

business_categories_tbl:

id | cat_name
 1     food
 2     restaurants
 3     wine

business_sub_categories_tbl:

b_sub_cat_id | b_sub_cat_name | b_maincat_id
 1001             donuts          1
 1002              xx             1
 2001             steakhouse      2
 2001              yy             2
 3001            white            3
 3002             zz              3

マルチカテゴリ検索に基づいて特定のビジネス名を見つけるにはどうすればよいですか? たとえば、すべてのカテゴリを検索しcat_id, cat2_id , cat3_id, sub_cat_id ,sub_cat2_id and sub_cat3_id、一致が見つかった場合に business_name を返すことができるように、mysql クエリをどのようにする必要があるかなどです。私の現在のクエリは、複数のカテゴリに参加しても何も返されないため、1 つの cat_id と 1 つの sub_cat_id 検索のみを実行します。

4

1 に答える 1

0

あなたの投稿から私が理解していることは、クエリの下に構築しようとしています。やってみなよ:

select business_name  from  business_tbl where '1002' IN (cat_id, cat2_id , cat3_id, sub_cat_id ,sub_cat2_id, sub_cat3_id)
于 2013-04-05T09:42:10.817 に答える