어떻게이 쿼리를 Zend_Db_Select 개체로 작성할 수 있습니까?Zend_Db_Select UNION 및 IN 연산자로 쿼리
SELECT
`v1`.`id`,
`v1`.`title`,
`v1`.`duration`,
`v1`.`img`
FROM
`videos` AS `v1`
WHERE
v1.id IN (
SELECT id_video FROM videos_categories WHERE id_video NOT IN(
select id_video from videos_categories where id_category=34
UNION
select id_video from videos_categories where id_category=20
)
)
나는 이런 식으로 시도했지만 아무 것도 작동하지 않습니다. 오류 페이지가 있습니다. 데이터 맵퍼를 사용합니다.
$objQuery = $this->getDbTable()->select()
->from(array('v'=>'videos'),array('v.id','v.title','v.duration','v.img'))
$tableVC1 = new Application_Model_DbTable_VideosCategories();
$tableVC2 = new Application_Model_DbTable_VideosCategories();
$tableVC3 = new Application_Model_DbTable_VideosCategories();
$tableVC4 = new Application_Model_DbTable_VideosCategories();
// select id_video from videos_categories where id_category=20
$tableVC4->select()->from(array("vc"=>"videos_categories"),array("id_video"))
->where("vc.id_category=20");
// select id_video from videos_categories where id_category=34
$tableVC3->select()->from("videos_categories","id_video")
->where("id_category=34");
// union between previous queries
$tableVC2->select()->union(array($tableVC4,$tableVC3));
$tableVC1->select()->from("videos_categories","id_video")
->where("id_video NOT IN ?",$tableVC2);
$objQuery->where("v.id IN ?",$tableVC1);
Thx 나를 도와줍니다.
어떤 유형의 "오류 페이지"가 있습니까? – Liyali
응용 프로그램 오류 ... 아무것도 표시되지 않습니다. $ objQuery -> __ toString()을 다시 시도했지만 아무 것도 표시하지 않았습니다. –