我需要对 MySQL 表上的同一字段执行查询,但使用不同的参数。这是我的查询。出现的问题是 MySQL 说 users_name 不明确。
SELECT projects_id,
projects_users_id,projects_companies_id,projects_name,
projects_description,project_registered_date,
projects_users_id_register,
users.users_name as userInCharge,companies.companies_name as company,
users.users_name as user_register FROM projects
LEFT JOIN users as userInCharge ON (users_id = projects_users_id)
LEFT JOIN users as register ON (users_id=projects_users_id_register)
LEFT JOIN companies ON (companies_id = projects_companies_id) ORDER BY projects_id DESC
我的目标是获得项目负责人和项目注册人的ID。我该怎么做?
最佳答案
由于这些LEFT JOIN
子句而导致您的歧义:
LEFT JOIN users as userInCharge ON (users_id = projects_users_id)
LEFT JOIN users as register ON (users_id=projects_users_id_register)
您需要指定 users_id
来自哪里(是的 - 我知道它们来自同一个表,但 SQL 有时有点慢)尝试:
LEFT JOIN users as userInCharge ON (userInCharge.users_id = projects_users_id)
LEFT JOIN users as register ON (register.users_id=projects_users_id_register)
关于MySQL 说该列不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19578132/