Mysql 字段列表在与4个表的联接中不明确

Mysql 字段列表在与4个表的联接中不明确,mysql,sql,join,Mysql,Sql,Join,我很困惑为什么会发生这种情况,因为我将它抱怨的特定表命名为es和sub(我认为这就是解决这个特定问题的方法) 我有: 用户提交意见电子邮件设置提交意见表格 此查询提供了我想要的内容,但我现在想在我的电子邮件设置和提交表中加入此查询,这两个表都有用户id SELECT user_id, submission_id, comment, users.*, FROM submissions_comments INNER JOIN (SELECT submis

我很困惑为什么会发生这种情况,因为我将它抱怨的特定表命名为
es
sub
(我认为这就是解决这个特定问题的方法)

我有:
用户
提交意见
电子邮件设置
提交意见
表格

此查询提供了我想要的内容,但我现在想在我的
电子邮件设置
提交
表中加入此查询,这两个表都有
用户id

SELECT user_id,
       submission_id,
       comment,
       users.*,
FROM submissions_comments
INNER JOIN
  (SELECT submissions_comments.parent_id
   FROM submissions_comments
   WHERE id = 224) x ON submissions_comments.id = x.parent_id
LEFT JOIN users ON submissions_comments.user_id = users.id
输出:

       user_id: 35
 submission_id: 12
       comment: fdasadfsdadfs
            id: 35
         email: bobcobb@gmail.com
      username: bobcobb
          name: Robert Cobb
         about:
       created: 2014-03-21 20:24:57
    last_login: 2014-07-06 23:21:43
public_profile: 1
  queued_photo: 0
但是,如果我尝试加入另一个表(其中引用了
用户id
),则字段列表中的
列“用户id”是不明确的

SELECT user_id,
       submission_id,
       comment,
       users.*,
       es.*,
       sub.*
FROM submissions_comments
INNER JOIN
  (SELECT submissions_comments.parent_id
   FROM submissions_comments
   WHERE id = 224) x ON submissions_comments.id = x.parent_id
LEFT JOIN users ON submissions_comments.user_id = users.id
LEFT JOIN submissions sub ON x.parent_id = sub.user_id
LEFT JOIN email_settings es ON x.parent_id = es.user_id;

正如您所知,我将在从内部选择返回的用户id(例如,
x.parent\u id
)上加入所有这些内容。

您必须将别名添加到列名:

SELECT sub.user_id,...

您还需要定义在所选部件上引用的用户id。

在查询中使用字段名不是比
*
更容易混淆吗?您应该在询问之前尝试搜索。通过在列名sub.user\u id之前添加表名,可以轻松解决“字段列表不明确”的问题
SELECT submissions_comments.user_id,
       submissions_comments.submission_id,
       submissions_comments.comment,
       users.*,
       es.*,
       sub.*
FROM submissions_comments
INNER JOIN
  (SELECT submissions_comments.parent_id
   FROM submissions_comments
   WHERE id = 224) x ON submissions_comments.id = x.parent_id
LEFT JOIN users ON submissions_comments.user_id = users.id
LEFT JOIN submissions sub ON x.parent_id = sub.user_id
LEFT JOIN email_settings es ON x.parent_id = es.user_id;