2010-10-23 14 views
0

J'ai besoin pour exécuter la requête suivante dans MySQL Zend, je ne suis pas un excpert avec Zend FrameworkUNION et non Mysql Fonctionnement avec Zend Framework

SELECT `optionride`.`featureoption_id`, 
`optionride`.`featureoptionride_id`,`foption`.`featureoptionblock_id`, 

`foption`.`labelname`,`optionride`.`value` FROM 
`engine4_ride_featureoptionrides` AS `optionride` 
LEFT JOIN `engine4_ride_featureoptions` AS `foption` 
ON foption.featureoption_id = optionride.featureoption_id 
WHERE (optionride.ride_id = '1') AND (foption.featureoptiontab_id= '2') 

UNION 

SELECT `foption`.`featureoption_id`, null as  
`featureoptionride_id`,`foption`.`featureoptionblock_id`, 
`foption`.`labelname`,null as `value` FROM `engine4_ride_featureoptions` AS `foption` 
WHERE (foption.featureoptiontab_id= '2') AND `foption`.`featureoption_id` NOT IN 
(
    SELECT `optionride`.`featureoptionride_id` FROM `engine4_ride_featureoptionrides` 
    AS `optionride` 
    LEFT JOIN `engine4_ride_featureoptions` AS `foption` ON 
    foption.featureoption_id =  optionride.featureoption_id 
    WHERE (optionride.ride_id = '1') AND (foption.featureoptiontab_id= '2') 
) 

Quelqu'un peut me aider s'il vous plaît.

+0

Pour quelle aide voulez-vous? Qu'avez-vous essayé jusqu'à présent? –

+0

Voici une bonne démo de la façon de faire PAS DANS: http://stackoverflow.com/questions/5380595/zend-select-not-in –

Répondre

0

Vous pouvez placer toutes vos requêtes dans le $ db-> fetch().

Aussi, vous pouvez utiliser $ db-> select() -> union (array (sql1 $, sql2 $)), où $ sql1, $ sql2 peut être $ db-> select ( ou une chaîne ("select ...").

Pour PAS vous pouvez utiliser $ db-> où ('somefield NOT IN()?', Array());