Стоит ли указывать, что два запроса не совпадают?
В первом запросе от phpMyAdmin используется AND NOT EXISTS (...subquery...)
.
Во втором используется and data not in (... subquery ... )
.
подразумевает другое поведение.
РЕДАКТИРОВАТЬ
В Drupal 6 поле data
в webform_submitted_data
является полем mediumtext
.Использование его содержимого в качестве ключа массива не может быть хорошей идеей.Как насчет изменения вашего запроса следующим образом:
$array = array();
$sql = db_query("SELECT data FROM webform_submitted_data WHERE nid = 1124 and cid = 4 and data not in (SELECT data FROM webform_submitted_data where nid = 1127 and cid = 11 group by data having COUNT(*) > 5)");
while($row = db_fetch_object($sql)) {
$array[] = $row->data; // <<<<----- updated array push
}
return $array;
Таким образом, вы по-прежнему получаете массив результатов, но без необходимости использовать длинное строковое значение в качестве ключа и, возможно, перезаписывать дубликаты.