#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
#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
おそらく、 の * がとselect *
から同じ名前の 2 つの列を選択するためです。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
あなたのクエリはこれと同等です:
SELECT COUNT(DISTINCT id)
FROM tips
、結合する必要はありません。
INNER JOIN
代わりにが欲しくなかったのですか?