2017-07-05 217 views
0

我有两个表。首先是product,其中Admin将添加产品,另一个是product_detail,供应商将在其中添加详细信息。多个供应商可以像销售价格,报价等CI有效记录,从多个表中选择记录

“我要选择的产品从products表,并想从product_detail表中选择产品的细节,但产品细节的只有一排具有较少的产品细节添加相同的产品售价”。

所以我想使用CI活动记录来获取最终输出作为产品清单的细节。

+0

你只想要最低价格的产品? – Shihas

+0

价格=分(价格)使用在哪里条件 –

+0

都可以理解,而不是这个*,但只有一行产品细节有较少的销售价格“。*以及请添加预期结果/例子以便更好地理解 –

回答

0

借此例如:

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 
0

您首先应该在您的模型中创建获取者和设置者,并使用CI活动记录+ pdo从我的角度来看这更安全。

此致敬礼。