mysql联合喜欢在codeigniter中使用多表搜索查询

萨吉德·马修波特拉(Sajid Mathupotra)

我尝试执行数据库搜索产品,该产品有6个表,直到我使用product_subcategory表,它都可以正常工作,它返回带有循环的相同1行或重复的行(大约250个相同值的行,可能是因为子类别包含很多条目)。product_subcategory包含subcategory_id,category_id,subcategory_name列。产品子类别的信息以subcategory_id的形式存储在产品表中,格式为(15,24,1,3,8),(所以这可能是即时通讯在做错事情的地方)

我已经尝试了IN或OR的一些变体..但现在我被卡住了..现在需要帮助给出一个主意($ branch ='Tokyo'和$ query ='Mobiles'),并且很多子类别都包含Mobiles这个词。

我想要的最终结果是我可以使用返回结果

    $sql = "SELECT t1.*, t2.*, t3.* , t4.*, t5.*, t6.* 
    FROM 
    products t1, product_details t2, product_warehouses t3, product_courier t4, product_category t5, product_subcategory t6
    WHERE
    t1.product_id = t2.product_id AND
    t1.warehouse_id = t3.warehouse_id AND 
    t4.destination = t3.warehouse_branch AND
    t1.category_id = t5.category_id AND
    t3.warehouse_branch = ".$branch." AND
    t5.category_name LIKE '%".$query."%' UNION
    SELECT t1.*, t2.*, t3.* , t4.*, t5.*, t6.*
    FROM 
    products t1, product_details t2, product_warehouses t3, product_courier t4, product_category t5, product_subcategory t6
    WHERE
    t1.product_id = t2.product_id AND
    t1.warehouse_id = t3.warehouse_id AND 
    t4.destination = t3.warehouse_branch AND
    t1.category_id = t5.category_id AND
    t3.warehouse_branch = ".$branch." AND
    t2.product_name LIKE '%".$query."%' UNION
    SELECT t1.*, t2.*, t3.* , t4.*, t5.*, t6.*
    FROM 
    products t1, product_details t2, product_warehouses t3, product_courier t4, product_category t5, product_subcategory t6
    WHERE
    t1.product_id = t2.product_id AND
    t1.warehouse_id = t3.warehouse_id AND 
    t4.destination = t3.warehouse_branch AND
    t1.category_id = t5.category_id AND
    t3.warehouse_branch = ".$branch." AND
    t1.product_title LIKE '%".$query."%'  UNION
    SELECT t1.*, t2.*, t3.* , t4.*, t5.*, t6.*
    FROM 
    products t1, product_details t2, product_warehouses t3, product_courier t4, product_category t5, product_subcategory t6
    WHERE
    t1.product_id = t2.product_id AND
    t1.warehouse_id = t3.warehouse_id AND 
    t4.destination = t3.warehouse_branch AND
    t1.category_id = t5.category_id AND
    t3.warehouse_branch = ".$branch." AND
    t6.subcategory_id IN (t1.subcategory_id) AND //i think this is where im lost
    t6.subcategory_name LIKE '%".$query."%' 
    ";

当我从所有联合中删除子类别表时,我可以正确执行查询。希望你们能帮助我。

即时通讯使用codeigniter最终结果$ query = $ this-> db-> query($ sql); $ result = $ query-> result_array();

亚历山大·索洛玛卡(Aleksey Solomakha)

查询是错误的,为什么您6次添加6个相同的表?尝试这个:

$sql = 'SELECT `id`, `name`
FROM 
`products` `p`
JOIN `product_details` `pd` ON `p`.`product_id` = `pd`.`product_id`
JOIN `product_warehouses` `pw` ON `p`.`warehouse_id` = `pw`.`warehouse_id`
JOIN `product_courier` `pco` ON `pco`.`destination` = `pw`.`warehouse_branch`
JOIN `product_category` `pca` ON `pca`.`category_id` = `p`.`category_id`
WHERE
`pw`.`warehouse_branch` = \'' . $branch . '\' AND
`pd`.`product_name` LIKE \'%' . $query . '%\'';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel中的多表Mysql联合查询

来自分类Dev

在 codeIgniter 查询中使用 mysql PASSWORD

来自分类Dev

MySQL查询-使用联接/联合等

来自分类Dev

如何在Anorm查询中使用“喜欢”?

来自分类Dev

如何在MYSQL中为多表级搜索编写查询

来自分类Dev

在包含ColdFusion变量的MySQL查询中使用“喜欢”运算符

来自分类Dev

mysql查询加入多表

来自分类Dev

Android如何使用“喜欢”添加搜索建议 SQLite查询

来自分类Dev

使用eloquent查询多表

来自分类Dev

不喜欢 mysql 查询

来自分类Dev

使用喜欢搜索

来自分类Dev

如何在下面的查询中使用“喜欢”命令

来自分类Dev

优化mysql查询(喜欢/不喜欢)

来自分类Dev

mysql喜欢查询以获得最大喜欢

来自分类Dev

mysql喜欢查询以获得最大喜欢

来自分类Dev

Laravel 5.2 中的多表搜索查询

来自分类Dev

如何在Yii中使用联合二选择创建查询?

来自分类Dev

Sqlalchemy 核心 - 在联合查询中使用 func.sum

来自分类Dev

使用来自JSON数组的lodash的MySQL喜欢的查询结果

来自分类Dev

Linq使用多表更新查询

来自分类Dev

如何使用联合查询

来自分类Dev

使用 Impala 的联合查询

来自分类Dev

无法使用MATCH和AGAINST在MySQL查询中使用全文搜索

来自分类Dev

在模型中使用查询的Codeigniter分页

来自分类Dev

在Codeigniter查询中使用通配符(例如“ like”)

来自分类Dev

如何在Codeigniter Active记录表单中使用WHERE 1编写mysql查询

来自分类Dev

SQL选择查询使用喜欢

来自分类Dev

MySQL与子查询的联合优化

来自分类Dev

mysql:联合重用子查询