Подтвердить что ты не робот

# 1060 - Дублируемое имя столбца 'id'

Почему я получаю # 1060 - Дублировать имя столбца 'id'

SELECT COUNT(*) FROM (SELECT * FROM `tips` `t` LEFT JOIN
tip_usage ON tip_usage.tip_id=t.id GROUP BY t.id) sq
4b9b3361

Ответ 1

Возможно, потому что * in select * выбирает два столбца с тем же именем из tip_usage и tips.

Ответ 2

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

SELECT COUNT(*) FROM (SELECT t.id FROM `tips` `t` 
LEFT JOIN tip_usage ON tip_usage.tip_id=t.id 
GROUP BY t.id) sq 

Ответ 3

Ваш запрос эквивалентен этому:

SELECT  COUNT(DISTINCT id)
FROM    tips

нет необходимости в соединении.

Вы уверены, что не хотите использовать INNER JOIN?