2016-10-14 9 views
1

мне удалось залатать вместе этот Франкенштейн запрос, но я получаю ошибку Unknown column 'r.user_id' in 'where clause'Неизвестный столбец «r.user_id» в «где предложение»

Может кто-то пожалуйста, помогите мне с этим? Я дал последней части псевдоним, но вложенный подзапрос не смог его распознать. Гуглинг говорит мне использовать группу, но я не могу понять, где.

Благодаря

SELECT 
r.id, r.state, 

count((SELECT dog.ip_address 

FROM 

(SELECT DISTINCT ip_address COLLATE utf8_unicode_ci AS ip_address 
FROM previous_state_transitions 
WHERE user_id = r.user_id 

UNION 

SELECT DISTINCT ip_address COLLATE utf8_unicode_ci AS ip_address 
FROM previous_state_transitions 
WHERE state_machineable_id = r.user_id 
AND state_machineable_type = "User" 

UNION 

SELECT DISTINCT ip_address 
FROM reviews 
WHERE user_id = r.user_id) AS dog 

INNER JOIN 

(SELECT DISTINCT ip_address COLLATE utf8_unicode_ci AS ip_address 
FROM previous_state_transitions 
WHERE user_id IN (SELECT user_id FROM company_user_roles WHERE company_id = r.company_id) 

UNION 

SELECT DISTINCT ip_address COLLATE utf8_unicode_ci AS ip_address 
FROM previous_state_transitions 
WHERE state_machineable_id = (SELECT user_id FROM company_user_roles WHERE company_id = r.company_id) 
AND state_machineable_type = "User" 

UNION 

SELECT DISTINCT ip_address 
FROM reviews 
WHERE user_id = (SELECT user_id FROM company_user_roles WHERE company_id = r.company_id)) AS cat 

ON dog.ip_address = cat.ip_address)) AS ip_count_in_common 

FROM reviews AS r 
WHERE r.created_at > '2016-10-13' 
ORDER BY 1 desc 

ответ

0

Вам необходимо включить предложения GROUP BY перед ОКВЕК ВУ, который включает в себя r.id и r.state.

Например, очень простой запрос будет ...

SELECT id, name, count(*) from maker GROUP BY id, name 
+0

Я все еще получаю ту же ошибку. Я не пытаюсь подсчитать количество отзывов или что-то еще. Сколько IP-адресов у пользователя и компании есть вместе. –