Python НЕАКТИВНАЯ ошибка подпроцесса?

Это потому, что у вас есть левое соединение, но затем поместите левую таблицу в условие where для создания внутреннего соединения.

Два исправления, поместите условие в объединение:

select count(orders.id) as order_count, sum(orders.total_cost) as total_spent, CONCAT_WS(", ", `last_name`, `first_name`) AS `customer_name`, users.id as user_id
from users
left join orders on users.id = orders.user_id and orders.status != 'Canceled'
group by user_id
order by order_count asc

или тест на ноль

select count(orders.id) as order_count, sum(orders.total_cost) as total_spent, CONCAT_WS(", ", `last_name`, `first_name`) AS `customer_name`, users.id as user_id
from users
left join orders on users.id = orders.user_id
where coalesce(orders.status,'') != 'Canceled'
group by user_id
order by order_count asc
10
задан HostileFork 18 May 2010 в 05:40
поделиться

5 ответов

В Python 3.0.1 я получил эту ошибку после того, как нажал Ctrl-C, чтобы прервать предыдущий запуск программы в оболочке Python Idle, а затем попытаться запустить сценарий.

Также в 3.0.1: Предположим, у вас открыто два окна ожидания: в одном открыт сценарий для редактирования и окно оболочки Python в режиме ожидания. Я обнаружил, что если вы закроете окно оболочки, а затем немедленно попытаетесь запустить скрипт, он выдаст эту ошибку, когда попытается повторно открыть оболочку, но не если вы немного подождете, чтобы позволить Idle очистить любое соединение.

Наихудшие ошибки, которые я обнаружил (опять же, в v3.0.1 - не уверен, произойдет ли это в версиях 2.x): У меня был длинный сценарий - до 9k строк - и как только он достиг определенного размера, выполнение «сохранить как» на нем приводило к сбою в режиме ожидания. Я не уверен, каков был точный порог для размера, но до этого я также получал некоторые периодические сбои «сохранить как», которые, казалось, зависели от того, что еще у меня происходило - другие окна ожидания, сколько вывода было в оболочке окно, возможно, и все такое. Это может привести к сбою, и вы потеряете несохраненную работу.

Кроме того, я обычно делаю открытое временное окно, в котором я вырезаю и вставляю фрагменты кода на разных этапах проверки, пишу себе заметки и т. Д. - так что не действительный сценарий python, но иногда я сохраняю их, чтобы можно было вернуться к ним. У меня есть один такой файл, который вылетает в режиме ожидания каждый раз, когда я пытаюсь его открыть - и я потерял несохраненную работу в первый раз. (К вашему сведению: другие редакторы, включая PythonWin 2.5.

1
ответ дан 3 December 2019 в 23:51
поделиться

Вы можете использовать idle -n , чтобы избежать таких проблем (хотя, возможно, и с некоторыми другими ограничениями).

3
ответ дан 3 December 2019 в 23:51
поделиться

Не могли бы вы быть более конкретными, предоставив образец короткого кода?

IDLE имеет некоторые проблемы с потоками. Итак, первое, что нужно отладить, - это распечатать несколько простых вещей в вашем подпроцессе. Таким образом, вы увидите, связана ли проблема с сетью или потоками.

1
ответ дан 3 December 2019 в 23:51
поделиться

Если это выглядит как действительно случайное поведение, то это может быть проблема с несколькими процессорами / ядрами. Вы можете попробовать установить привязку интерпретатора к фиксированному процессору и посмотреть, возникает ли эта проблема.

Google для чего-то вроде: imagecfg process affinity Для получения дополнительной информации об этом.

0
ответ дан 3 December 2019 в 23:51
поделиться

Или… вы можете забыть IDLE и попробовать вместо него IPython . Он может вообще не показывать ту же ошибку. У меня никогда не было с этим проблем. Вы получаете классную функциональность, которой нет в IDLE. Я считаю это очень полезным при работе с Python.

0
ответ дан 3 December 2019 в 23:51
поделиться
Другие вопросы по тегам:

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