La columna 'user_id' en la list de campos es ambigua

Estoy tratando de get la información del usuario que dejó esta revisión.

Con el siguiente código:

SELECT username, image, user_id FROM table_users AS us JOIN table_reviews AS re ON re.user_id = us.user_id WHERE us.user_id = 1 AND re.review_id= 1 

Me sale el error:

La columna 'user_id' en la list de campos es ambigua

¿Qué significa esto?

Significa que ambas tablas en la consulta tienen la columna user_id .

SELECT username, image, re.user_id especificar cuál desea get en la statement SELECT username, image, re.user_id como SELECT username, image, re.user_id

column user_id está en ambas tablas table_reviews , table_users .

También debe especificar columnas con el nombre de alias de tabla.

 SELECT username, image, us.user_id FROM table_users AS us JOIN table_reviews AS re ON re.user_id = us.user_id WHERE us.user_id = 1 AND re.review_id= 1 

Significa que la columna user_id está en ambas tablas, es decir, en table_reviews, table_users

Pruebe de esta manera:

 SELECT username, image, us.user_id //or re.user_id FROM table_users AS us JOIN table_reviews AS re ON re.user_id = us.user_id WHERE us.user_id = 1 AND re.review_id= 1 

No solo se examinan los valores seleccionados (SELECT username, image, user_id) en where clause (WHERE us.user_id = 1), todas las columnas unidas se examinan en la cláusula where, por lo que en su ejemplo tiene una columna user_id en ambas tablas unidas. Si tiene una consulta como esta:

 SELECT table_reviews.id FROM table_users AS us JOIN table_reviews AS re ON re.user_id = us.user_id WHERE id 

id será ambiguo porque id-s de table_reviews y table_reviews se examinarán en la cláusula where aunque solo se selecciona id from table_reviews.