Операнд должен содержать ошибку 1 столбца (ов) в моем запросе sql - PullRequest
0 голосов
/ 18 марта 2019

Не уверен, откуда это.Мое намерение состоит в том, чтобы ROUND (AVG (продолжительность)) был разделен с разницей lead_at и qual_at (второй подзапрос)

SELECT (SELECT first_name 
        FROM users_permissions p WHERE p.user_id=a.assistant_id LIMIT 1) as Name, (SELECT u.lead_at, u.qualified_at FROM users u INNER JOIN aircalls ON u.id=aircalls.user_id WHERE u.qualified_at - u.lead_at) AS Difference, ROUND(AVG(duration)), count(id)
FROM aircalls a
WHERE assistant_id IS NOT NULL 
AND status='Call Connected' 
AND type='user' 
AND EXISTS (SELECT u.id FROM users u INNER JOIN aircalls ON u.id=aircalls.user_id AND u.status NOT IN (1,7))
AND EXISTS (SELECT p.user_id FROM users_permissions p INNER JOIN aircalls ON p.user_id=aircalls.user_id AND p.is_agent NOT IN (1))
AND year(a.created_at)=2019
GROUP BY(SELECT first_name 
         FROM users_permissions p WHERE p.user_id=a.assistant_id LIMIT 1)

1 Ответ

1 голос
/ 18 марта 2019

Проблема в вашем втором выборе (разнице), вместо того, чтобы выводить два значения, вы просто помещаете их оба через запятую.Кроме того, предложение where в этом select не имеет допустимого значения.

Это было:

SELECT u.lead_at, u.qualified_at FROM users u INNER JOIN aircalls ON u.id=aircalls.user_id WHERE u.qualified_at - u.lead_at) AS Difference

Вот исправление для этой неправильной строки:

(SELECT u.lead_at - u.qualified_at FROM users u INNER JOIN aircalls ON u.id=aircalls.user_id) AS Difference
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...