【问题标题】:error: #1054 - Unknown column 'NOPL' in 'where clause'?错误:#1054 - “where 子句”中的未知列“NOPL”?
【发布时间】:2014-04-07 06:52:36
【问题描述】:

为什么查询给我这个错误:

#1054 - 'where 子句' 中的未知列 'NOPL' ?

SELECT supplierprice.country, 
         supplierprice.networkname, 
         supplierprice.mcc, 
         supplierprice.mnc, 
         `288`.clientprice,
         `288`.ns, 
         client_list.currency
  FROM supplierprice
  INNER JOIN `288` 
  ON supplierprice.supp_price_id = `288`.net_id
  INNER JOIN client_list 
  ON `288`.clientid = client_list.clientid 
  WHERE `288`.ns <> `NOPL` ;

【问题讨论】:

  • 您使用了不正确的引号,如果您希望指定字符串文字,请使用 '
  • 内连接 288, !!!.这是什么意思?这是桌子吗?
  • 字符串需要用单引号括起来。所以应该是'NOPL'

标签: mysql sql mysql-error-1054


【解决方案1】:

因为你使用`(引用字段/表/数据库引用)而不是'

我认为 NOPL 在你的 where 语句中是一个“字符串”

【讨论】:

    【解决方案2】:

    试试这个,关注 a_horse_with_no_name 的评论。

    SELECT supplierprice.country, 
             supplierprice.networkname, 
             supplierprice.mcc, 
             supplierprice.mnc, 
             [288].clientprice,
             [288].ns, 
             client_list.currency
      FROM supplierprice
      INNER JOIN [288]
      ON supplierprice.supp_price_id = [288].net_id
      INNER JOIN client_list 
      ON [288].clientid = client_list.clientid 
      WHERE [288].ns <> 'NOPL' ;
    

    【讨论】:

      【解决方案3】:

      我只是在咨询我的魔法球,它说:

      当您编写WHERE '288'.'ns' &lt;&gt; 'NOPL' ; 时,实际上您将表288 中的列ns 与我假设是表的NOPL 进行比较。您不能将列与表进行比较,尽管您必须像这样从中指定一列: WHERE '288'.'ns' &lt;&gt; 'NOPL'.'column_name' ;

      如果NOPL 是一个列,您必须指定它来自哪个表: WHERE '288'.'ns' &lt;&gt; 'table_name'.'NOPL';

      如果您提供您的桌子的方案或图片,则不需要魔术球,我实际上可以给出正确的答案。

      【讨论】:

        猜你喜欢
        • 2015-09-11
        • 1970-01-01
        • 2011-03-22
        • 2016-03-19
        • 2021-07-22
        • 2020-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多