У меня есть два запроса, каждый из которых возвращает список идентификаторов узлов
SELECT node.nid
FROM dpf_node AS node
WHERE node.type = 'image' AND node.nid;
SELECT node.nid
FROM dpf_node AS node, dpf_image_galleries_images AS image
WHERE image.image_nid = node.nid
AND node.type = 'image'
AND image.gallery_nid = 138;
Оба они работают правильно
В конечном счете, хотя я хочу получить список идентификаторов узлов, которые находятся в первом списке результатов, а не во втором, я использовал этот запрос:
SELECT node.nid
FROM dpf_node AS node
WHERE node.type = 'image'
AND node.nid NOT IN (SELECT node.nid
FROM dpf_node AS node, dpf_image_galleries_images AS image
WHERE image.image_nid = node.nid
AND node.type = 'image'
AND image.gallery_nid = 138);
Какое-то время это работало нормально, но только сегодня вечером это был профессионал, играющий в пляжный мяч и заставляющий апача зависать. Я подозреваю (/ надеюсь), что очистка данных и повторный запуск решат их, но очень хотят исправить реальную проблему на тот случай, если она возродится, как только система заработает.