2015-11-02 102 views
1

感谢帮助我在这个问题上:CI高级SQL查询?

http://stackoverflow.com/questions/33182460/mysql-data-collection-multiple-table 

而现在,因为我是在框架的新手。谁能帮我这个查询转换成能由笨3理解和正确运行:

select sales.id, sales.refid, reference.refname, sales.invoice, 
sales.itemid, sales.price as sellprice, purchase.price as buyprice, 
sales.price - purchase.price as profit from sales 
left outer join reference on reference.refid = sales.refid 
left outer join purchase on purchase.itemid = sales.itemid 

而对于addtional问题在什么地方或如何使CI执行多个查询,例如:

INSERT INTO sales VALUES (null , 001 , 1501 , ss01 , 12000); 
INSERT INTO purchase VALUES (null , ss01 , 10200); 
UPDATE reference SET purchasedate = now() WHERE refid = 'ss01'; 

回答

0

我认为不需要将查询转换为codeigniter。

只需使用query()。在CI中。

$query = "select sales.id, sales.refid, reference.refname, sales.invoice, 
sales.itemid, sales.price as sellprice, purchase.price as buyprice, 
sales.price - purchase.price as profit from sales 
left outer join reference on reference.refid = sales.refid 
left outer join purchase on purchase.itemid = sales.itemid"; 

$this->db->query($query 

如果你想查询到笨转换,它应该是这样的,

$this->db->select("select sales.id, sales.refid, reference.refname, sales.invoice,sales.itemid, sales.price as sellprice, purchase.price as buyprice,sales.price - purchase.price as profit"); 
$this->db->join("reference", "reference.refid = sales.refid", "left outer"); 
$this->db->join("purchase", "purchase.itemid = sales.itemid", "left outer"); 
$this->db->get("sales"); 

第二部分

用于该用途的交易,

$this->db->trans_start(); 
$this->db->query('AN SQL QUERY...'); 
$this->db->query('ANOTHER QUERY...'); 
$this->db->query('AND YET ANOTHER QUERY...'); 
$this->db->trans_complete(); 

详情请点击此处refernce

或者使用mysql_multi_query()

mysql_multi_query()

+0

看到这一点,怎么样第二个问题?关于多个查询? –

+0

@SuryaTanamas答案已更新。 –