关于sql查询

时间:2012-03-27 12:12:45

标签: mysql

SELECT E.flmavailable_date,E.flmavailable_num_licenses, flmavailable_product AS SERVER 
FROM (SELECT flmavailable_num_licenses,flmavailable_date 
      FROM licenses_available 
      ORDER BY flmavailable_num_licenses ASC) E 
WHERE flmavailable_product <= 4;

错误:---'字段列表'中的未知列'flmavailable_product'

即使有这个名称调用的字段,我也会收到错误。 我需要帮助来解决这个问题

4 个答案:

答案 0 :(得分:0)

您的外部select正在尝试从内部flmavailable_product中选择select,但该内部查询中没有此类字段。

您是否可以包含licenses_available表的架构以及您的查询要返回的内容的说明?这样可以更轻松地为您提供帮助。根据您的查询,看起来您可能不需要该内部子查询。

答案 1 :(得分:0)

如果内部子查询中的flmavailable_product字段是permitces_available表中的列,则需要包含该字段,或者加入到内部查询中包含此字段的相应表中:

 SELECT E.flmavailable_date,E.flmavailable_num_licenses,flmavailable_product AS SERVER  
 FROM (SELECT flmavailable_num_licenses,flmavailable_date, flmavailable_product 
         FROM licenses_available ORDER BY flmavailable_num_licenses ASC)E 
  WHERE flmavailable_product <= 4;

另外,不确定为什么使用内部子查询,因为它只是直接选择

答案 2 :(得分:0)

这是您要编写的查询。

SELECT flmavailable_num_licenses,flmavailable_date, flmavailable_product AS SERVER 
  FROM licenses_available 
  WHERE flmavailable_product <= 4
  ORDER BY flmavailable_num_licenses ASC

答案 3 :(得分:0)

常规选择查询结构是:

SELECT a,b,c FROM `table`
WHERE x<=y

此处,您的内部查询充当表格。但是,您的内部查询只返回两列:flmavailable_num_licenses&amp; flmavailable_date。

在您的外部查询中,当您尝试选择表中未提供的列“flmavailable_product”时,您会收到错误(内部查询)。

您可以通过错误(“字段列表”中的未知列'flmavailable_product')清楚地表明这一点。

要解决此问题,您需要在内部查询中选择flmavailable_product,或者如果它不存在,请使用join来连接存在必需列的表。

请提供精确查询的表格结构。