2017-07-05 204 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從我的角度來看這更安全。

此致敬禮。