Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于类别的Mysql查询_Mysql_Database - Fatal编程技术网

基于类别的Mysql查询

基于类别的Mysql查询,mysql,database,Mysql,Database,嗨,我有3张桌子,如下所示: 业务: business_id business_name cat_id sub_cat_id 1 bz1 1 1001 2 bz2 1 1005 3 bz3 2 2001 4 bz4 1 1001 业务类别: cat_id cat_name 1

嗨,我有3张桌子,如下所示:

业务:

business_id business_name cat_id sub_cat_id
  1           bz1           1      1001
  2           bz2           1      1005
  3           bz3           2      2001
  4           bz4           1      1001
业务类别:

cat_id cat_name
1        Restaurant
2        Food
3        Travel
b_sub_cat_id b_subcat_name b_maincat_id
1001           Italian        1
1002           French         1
1003           Asian          1
2001           Bagels         2
业务子类别:

cat_id cat_name
1        Restaurant
2        Food
3        Travel
b_sub_cat_id b_subcat_name b_maincat_id
1001           Italian        1
1002           French         1
1003           Asian          1
2001           Bagels         2
现在,当我想基于
b_subcat_name
使用like查找业务时,我的查询似乎无法正常工作。以下是我的问题:

SELECT `b`.`business_name`, `b`.`cat_id`, `b`.`business_id`, `bc`.`cat_name`, `bsc`.`b_subcat_name`, `bsc`.`b_sub_cat_id` FROM `business` AS `b` INNER JOIN `business_category` AS `bc` ON b.cat_id = bc.cat_id INNER JOIN `business_sub_category` AS `bsc` ON b.sub_cat_id = bsc.b_sub_cat_id WHERE (bc.cat_name like 'italian%') OR (bc.cat_name like '%italian') OR (bc.cat_name = 'italian')

谢谢

我认为您应该在
WHERE
子句中使用
b_subcat_name
,因为没有
cat_name
具有值contains
Italy

尝试更改此选项:

SELECT `b`.`business_name`, `b`.`cat_id`, `b`.`business_id`, `bc`.`cat_name`, `bsc`.`b_subcat_name`, `bsc`.`b_sub_cat_id` FROM `business` AS `b` INNER JOIN `business_category` AS `bc` ON b.cat_id = bc.cat_id INNER JOIN `business_sub_category` AS `bsc` ON b.sub_cat_id = bsc.b_sub_cat_id WHERE (bc.cat_name like 'italian%') OR (bc.cat_name like '%italian') OR (bc.cat_name = 'italian')


“工作不好”是什么意思?