Hello!
Need some help to construct hard SQL query.
Now I've this old query:
$select = $this->getAdapter()->select()-> from('order_meta', array(new
Zend_Db_Expr('IF( `order_meta`.`price_type` = 1, `book_data`.`price1`,
`book_data`.`price2` ) `priceswitch` , IF( `order_meta`.`price_type` =1,
`book_data`.`price1` , `book_data`.`price2` ) * order_data.qty as `viso`
'),'orderid','price_type'))->where('order_meta.orderid =?',
$orderId)->joinInner('order_data','order_data.orderid = 
order_meta.orderid', array('code','qty')) 
->joinInner('book_data','book_data.id = order_data.code',array('id',
'title', 'code', 'pvmcat'))                                                     
     
->joinInner('cats_pvm','book_data.pvmcat = cats_pvm.id', array('coef'))
->joinInner('user','order_meta.userid = user.id', array('name'));

The SQL looks like:

SELECT IF( `order_meta`.`price_type` = 1, `book_data`.`price1`,                 
                    
`book_data`.`price2` ) `priceswitch`     , IF( `order_meta`.`price_type` =1,
`book_data`.`price1` , `book_data`.`price2` ) * order_data.qty as `viso`        
                                          
, `order_meta`.`orderid`, `order_meta`.`price_type`, `order_data`.`code`,
`order_data`.`qty`, `book_data`.`id`, `book_data`.`title`,
`book_data`.`code`, `book_data`.`pvmcat`, `cats_pvm`.`coef`, `user`.`name`
FROM `order_meta`  INNER JOIN `order_data` ON order_data.orderid =    
order_meta.orderid  INNER JOIN `book_data` ON book_data.id = order_data.code 
INNER JOIN `cats_pvm` ON book_data.pvmcat = cats_pvm.id  INNER JOIN `user`
ON order_meta.userid = user.id WHERE (order_meta.orderid ='4')

And now I should modify Zend_Db query in that way, that second SELECT
statement appear in SQL query.
In other word the final result should be like this:
SELECT priceswitch * qty, a.*   from (SELECT  IF( `order_meta`.`price_type`
= 1, `book_data`.`price1`,   `book_data`.`price2` ) priceswitch`,         
`order_meta`.`orderid`, `order_meta`.`price_type`, `order_data`.`code` as       
          
order_code,`order_data`.`qty`,            `book_data`.`id`, `book_data`.`title`,
`book_data`.`code` as book_code,        `book_data`.`pvmcat`,
`cats_pvm`.`coef`, `user`.`name` FROM `order_meta`    INNER JOIN
`order_data` ON order_data.orderid =           order_meta.orderid      INNER
JOIN `book_data` ON book_data.id = order_data.code     INNER JOIN `cats_pvm`
ON book_data.pvmcat = cats_pvm.id    INNER JOIN `user` ON order_meta.userid
= user.id WHERE (order_meta.orderid ='4') ) a

I can't understand from where to start..
Really need some help!
Thank you!

-- 
View this message in context: 
http://zend-framework-community.634137.n4.nabble.com/Need-help-to-construct-SQL-with-Zend-DB-tp3225500p3225500.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to