php - 选择产品名称类似的订单

标签 php mysql codeigniter

我有 3 张 table :

  1. Orders :( orderIdcustomerIddate 等)
  2. Order_products : ( orderProductId , orderId , productId , quantity )
  3. Products :( productIdproductName 等)

我如何才能选择包含以下产品的订单

productName LIKE 'pattern'

我正在使用 codeigniter 的查询构建器,因此使用它的答案将不胜感激,但原始 SQL 也可以。

最佳答案

使用以下查询来获取您想要的内容

SELECT tb1.orderId
FROM Orders tb1
LEFT JOIN Order_products tb2 ON tb2.orderId = tb1.orderId
LEFT JOIN Products tb3 ON tb3.productId = tb2.productId
WHERE tb3.productName LIKE '%pattern%'

注意:最好像这样使用'%pattern%'(%在键的两侧),避免在选择查询中使用*

关于php - 选择产品名称类似的订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59086729/

相关文章:

php - SQL - Where 子句和 distinct

mysql - 计算与 MySQL 中每个唯一 ID 的前一行的日期差异

php - CodeIgniter:不显示登录错误消息

php - Codeigniter 扩展核心类 'My_Model' 在 unix 上找不到,但在 Windows 中正常?

php - SQLSTATE [HY000] [1049] 未知数据库 ' register_login'

php - curl 错误 35,可能的原因?

mysql - 如何合并重复的代码,一个实例在 PHP 中,另一个实例在 Doctrine Query Builder 中?

mysql - 在 MySql 中执行查询时与 only_full_group_by 相关的错误

php - CodeIgniter htaccess mod_rewrite 无法正常工作

php - 从 zend 框架中的 2 个表中获取数据