カテゴリー:
エラー
閲覧数:148 配信日:2021-08-29 20:07
悩んだ点
結合条件ではテーブル名を指定しているのに、なぜエラー表示されるのか分からず悩みました
LEFT JOIN elem el ON (a.id = el.entry_id)
原因判明
テーブル名指定が必要なのは、結合条件ではなく、WHERE指定の方でした
従来
全テーブルでpublicカラムは一つしかなかったので、下記でよかった
WHERE public = 1
変更点
今回結合追加するテーブルにpublicカラムがあったため、aテーブル指定追加が必要になりました
WHERE a.public = 1
今回学んだ教訓
「where clause is ambiguous」エラー原因は、クエリの中でどのテーブルのカラムか指定していないことですが、該当箇所は結合式だけとは限りません。
WHERE式もよくよく確認しましょう。