У меня есть две таблицы базы данных, содержащие похожие данные - один - это объем работы, выполненный процессом, другой - количество ошибок, сделанных этим процессом.Сбор двух отдельных результатов столбцов из запроса mySQL
Я хотел бы показать процентное соотношение правой работы в первый раз.
Мой запрос для подсчета количества предметов с помощью процесса:
SELECT Counter.Process, count(Counter.Process) AS count
FROM Counter WHERE (TIME BETWEEN '2012-07-01 00:00:00' AND '2012-07-06 23:59:59')
GROUP BY Counter.Process
ORDER BY count DESC
выше дает мне список, похожий на:
Process | count
-------------------
Process A | 40
Process B | 32
Process C | 102
Process D | 23
У меня есть вторая таблица с теми же полями в нем для записи ошибок, называемых «Ошибки».
Используя тот же запрос (но, очевидно, меняя имена таблиц), я могу получить список процессов и ошибок.
Что я хочу сделать, так это создать веб-страницу PHP, показывающую процент ошибок для каждого процесса.
Моя проблема заключается в том, что я создаю два запроса отдельно, когда я прокручиваю их с помощью цикла PHP Where, я не знаю, как сделать вычисление для отображения процента.
Я попытался использовать UNION между двумя SQL-запросами, но я не могу заставить его показать два разных отсчета отсчета против этого процесса.
В идеале я хотел бы способ, чтобы показать данные, как это:
Process | Counter.count | Errors.count
Process A 40 2
Process B 32 0
Process C 102 18
Process D 23 8
Я бы очень признателен за любые советы/предложения относительно того, как я могу сделать это - если вам нужно больше информации о моей базе данных таблицы, пожалуйста, дайте мне знать
Спасибо за чтение
S
Нет, он должен ПРИСОЕДИНИТЬСЯ к двум столам, используя внутреннее соединение, и получить нужный ему набор результатов. –
Из того, что я вижу Нила, ваше предложение делает именно то, что мне нужно. Правда, можете ли вы объяснить, что Join предложит, что решение Neils не делает? Спасибо и за вашу помощь! – user1507535
В этом вопросе нет ничего плохого. если у вас есть индексы в столбце процесса, это также очень хорошо. в противном случае решение соединения может быть лучше. чтобы подсчет без индексов потребовал бы полного сканирования таблицы в таблице ошибок для каждой строки, возвращаемой в группе, по первой таблице. в этом случае решение соединения может быть лучше, поскольку каждая таблица сканируется только один раз. если данные в таблице невелики, тогда запрос может быть даже без индексов. –