我知道论坛里充满了这些问题,但我找不到解决方案。 我想从user_to_designment加入表用户,他们都有一个user_id列,我得到的错误是:
select user_id, designment_id FROM user_to_designment
FULL JOIN users
ON user_to_designment.user_id = users.user_id
LIMIT 0, 25
MySQL meldt: Documentatie
#1052 - Column 'user_id' in field list is ambiguous
我使用此查询:
select user_id, designment_id FROM user_to_designment
FULL JOIN users
ON user_to_designment.user_id = users.user_id
请一些建议
答案 0 :(得分:1)
在您的选择列表中,前缀为user_id,表名为:
select users.user_id, designment_id FROM user_to_designment
FULL JOIN users
ON user_to_designment.user_id = users.user_id
两列都有user_id,SQL无法在它们之间进行选择,必须明确指定。
答案 1 :(得分:0)
您需要在select中指定要返回的user_id,例如select users.user_id或Select user_to_designment.user_id
答案 2 :(得分:0)
您必须明确要选择的user_id表列。
select a.user_id,b.designment_id from user_to_designment b
full join users a
on b.user_id=a.user_id
答案 3 :(得分:0)
这是因为" user_id"两个表都存在字段。 你必须把表名放在字段名之前。
select user_to_designment.user_id, designment_id FROM user_to_designment
FULL JOIN users
ON user_to_designment.user_id = users.user_id
答案 4 :(得分:0)
两个表中似乎都存在user_id。所以它给出了模棱两可的错误。我们应该说从哪个表中选择列。
SELECT users.user_id
,user_to_designment.designment_id
FROM user_to_designment
FULL JOIN users ON user_to_designment.user_id = users.user_id
您可以在select语句中使用users.user_id或user_to_designment.user_id。始终使用tablename.columnname格式。它避免了混淆。