【问题标题】:Unknown column event_id in field list字段列表中的未知列 event_id
【发布时间】:2015-08-02 23:51:06
【问题描述】:

嗨,我正在学习 MYSQL,但我遇到了错误

字段列表中的未知列 event_id

但我在两个表中都有此列

SELECT 
event_id.events,
tournament.events, 
team1.events,
team2.events,event_date.events,
venue.events, picks.pick,tournament.picks
FROM  events 
INNER JOIN picks 
ON  `event_id`.events = `event_id`.picks
 WHERE tournament = 'SUPER15'

我已经检查、调整和尝试过,但我就是不知道出了什么问题......

餐桌活动

表选择

【问题讨论】:

  • event_id 是一列,而不是表(我希望如此),所以首先修复它 - 对所有其他列也是如此。不要喝酒和sql。

标签: mysql sql mysqli


【解决方案1】:

首先应该是表名或别名而不是列名,如下所示

 SELECT
    events.event_id,
    events.tournament, 
    events.team1, 
    events.team2,
    events.event_date,
    events.venue, 
    picks.pick,
    picks.tournament
FROM  events 
    INNER JOIN picks ON  
           events.`event_id` = picks.`event_id`
    WHERE 
        events.tournament = 'SUPER15'

您还必须为条件WHERE tournament = 'SUPER15' 添加列名。我将其更改为WHERE events.tournament = 'SUPER15'。我还建议您使用如下别名

  SELECT 
       E.event_id,
       E.tournament, 
       E.team1, 
       E.team2,
       E.event_date,
       E.venue, 
       P.pick,
       P.tournament
 FROM  events E
    INNER JOIN picks P ON  
              E.`event_id` = P.`event_id`
    WHERE 
        E.tournament = 'SUPER15'

它更具可读性,不是吗?

【讨论】:

  • 谢谢,我得到了一个空结果,不知道为什么在 WHERE 子句中有多个该锦标赛名称的条目
  • 没关系我有错误谢谢你会在时间到期时接受
  • @TimothyCoetzee 我更新了我的答案,有关于它的信息:)
  • 谢谢伙计,真的很感激
【解决方案2】:

您以相反的顺序指定您的选择。应该是table.column:

SELECT events.event_id,events.tournament, events.team, events.team2,
       events.event_date, events.venue, pick.picks,picks.tournament
FROM  events 
INNER JOIN picks ON  `event_id`.events = `event_id`.picks
WHERE tournament = 'SUPER15'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 2023-03-14
    • 2020-10-27
    • 2017-09-03
    • 2011-07-27
    相关资源
    最近更新 更多