php - CI Active record,从多个表中选择记录

标签 php mysql codeigniter

我有两张 table 。第一个是product,管理员将在其中添加产品,另一个是product_detail,供应商将在其中添加详细信息。多个供应商可以添加相同的产品以及产品详细信息,例如售价、报价等。

“我想从 products 表中选择产品,并希望从 product_detail 表中选择产品详细信息,但只有一行售价较低的产品详细信息”。

所以我想使用 CI 事件记录来获取最终输出作为产品列表及其详细信息。

最佳答案

以此为例:

Create table #Product(id int, name varchar(100));
Create table #Product_detail(id int, product_id int, detail varchar(100));

insert into #Product values
(1,'Item1'),
(2,'Item2')


insert into #Product_detail values
(1,1,20),
(2,1,10),
(3,1,40),
(4,2,70),
(5,2,50)

这是您的基本查询:

select 
a.*, b.price
from 
 #product a inner join
 (select product_id, min(price) price
  from #product_detail
  group by product_id
 ) b
on a.id = b.product_id

在 CI 中,尝试做这样的事情:

$var = $this->db->query("select a.*, b.price from #product a 
                         inner join
                        (select product_id, min(price) price
                         from #product_detail
                         group by product_id
                         ) b
                        on a.id = b.product_id")->result_array();

示例输出:

id          name   price
----------- ------ -----------
1           Item1  10
2           Item2  50

关于php - CI Active record,从多个表中选择记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44926141/

相关文章:

php - 一个文件中可以同时理解多种语言概念的Web开发工具

php - php中的字节数组到pdf文件

mysql - 我可以在 Rails 2.3 中执行原子增量而不下降到 SQL 吗?

javascript - 如何在我的网页上一个一个地打印来自 json 的 key ?

php - Codeigniter 创建目录(如果不存在)

php - 我应该使用 Javascript 还是 PHP 设置全局变量来唯一标识 Web 应用程序中的每个页面

php - 从 Android 应用程序连接到 MySQL 数据库有多安全?

php - 使用 .htaccess 进行多 url 重定向

MySQL用正则表达式替换字符串

php - 在我调用该函数的 Controller 上使用来自模型函数的变量数据