Hen*_*ryk 5 php zend-framework subquery zend-db-table
我有一些SQL,我想与ZendFW一起使用,但我无法让它工作,这让我发疯.我通过此查询得到了正确的结果:
SELECT DISTINCT e.festival_id FROM entries AS e, mail_log as m
WHERE e.status = 1
AND e.festival_id
NOT IN (SELECT m.entry_id FROM entries AS e, mail_log as m WHERE m.entry_id = e.festival_id)
Run Code Online (Sandbox Code Playgroud)
帮助将不胜感激.干杯:)
Mar*_*ark 11
戈兰的答案是最好的答案.但是如果你想要一个zend_db_table样式的查询,这将是另一种选择:
$sql = $table->select()
->setIntegrityCheck(false)
->from('entries', new Zend_Db_Expr('DISTINCT festival'))
->where('status = ?', 1)
->where('festival_id NOT IN (?)',new Zend_Db_Expr("SELECT m.entry_id FROM entries AS e, mail_log as m WHERE m.entry_id = e.festival_id"));
Run Code Online (Sandbox Code Playgroud)
我不确定Zend_Db_Table是否能够处理子查询.
为什么需要使用Zend_Db_Table?
您可以使用Zend_Db :: query()直接执行查询.
$db = Zend_Db_Table::getDefaultAdapter();
$db->query("SELECT DISTINCT e.festival_id FROM entries AS e, mail_log as m
WHERE e.status = 1
AND e.festival_id
NOT IN (SELECT m.entry_id FROM entries AS e, mail_log as m WHERE m.entry_id = e.festival_id)
");
Run Code Online (Sandbox Code Playgroud)