Подзапрос Zend_Db_Table

При включении ВСЕХ ссылок на данные электронной таблицы в списке параметров UDF Excel повторно вычислит функцию каждый раз, когда справочные данные изменяются:

Public Function doubleMe(d As Variant)
    doubleMe = d * 2
End Function

можно также использовать Application.Volatile, но это имеет недостаток того, чтобы заставлять UDF всегда повторно вычислить - даже когда этому не нужно к тому, потому что справочные данные не изменились.

Public Function doubleMe()
    Application.Volatile
    doubleMe = Worksheets("Fred").Range("A1") * 2
End Function
5
задан hakre 12 June 2012 в 10:40
поделиться

2 ответа

Ответ Горана - лучший ответ. Но если вам нужен запрос в стиле 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"));
11
ответ дан 18 December 2019 в 07:30
поделиться

Я не уверен, что 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)
");
6
ответ дан 18 December 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: