Php 未知列';缺货详情。purchi';在';关于第'条;

Php 未知列';缺货详情。purchi';在';关于第'条;,php,sql,Php,Sql,我正在使用此查询,但在“on子句”中发现此错误未知列“stockout\u details.purchi” SELECT sale_nag,stockin_details.purchi, COALESCE(stockin_details.sale_nag,0) + stockin_details.sale_nag result FROM stockin_details LEFT JOIN (SELECT SUM(sale_nag) AS snag FRO

我正在使用此查询,但在“on子句”中发现此错误未知列“stockout\u details.purchi”

SELECT sale_nag,stockin_details.purchi,
       COALESCE(stockin_details.sale_nag,0) + stockin_details.sale_nag   result
FROM stockin_details LEFT JOIN 
     (SELECT SUM(sale_nag) AS snag
      FROM stockout_details
      WHERE purchi='a12'
      GROUP BY marka,chalan,room,rack
     ) stockout_details
     ON stockin_details.purchi=stockout_details.purchi
WHERE stockin_details.purchi='a12'
GROUP BY marka,chalan,room,rack

您需要在子查询中包括该列:

SELECT o.sale_nag, i.purchi,
       COALESCE(i.sale_nag,0) + i.sale_nag   result
FROM stockin_details i LEFT JOIN 
     (SELECT purchi, SUM(sale_nag) AS snag
      FROM stockout_details
      WHERE purchi = 'a12'
      GROUP BY marka, chalan, room, rack, purchi
     ) o
     ON i.purchi = o.purchi
WHERE i.purchi = 'a12'
GROUP BY i.marka, i.chalan, i.room, i.rack;
注意,我用更易于管理的别名替换了表别名,并限定了所有列名

也就是说,如果查询真的做了任何有用的事情,我会感到惊讶,
结果
只使用了一个表中的值


另外,我希望
join
条件使用聚合中的所有列。如果您需要查询方面的进一步帮助,请提出新问题。提供示例数据、所需结果、代码应执行的操作说明以及适当的数据库标记。

您需要在select中包含stockout\u details.purchi列,然后在创建子查询时,只有您才能在join子句中使用它,这就是Gordon试图突出显示的内容。

(1)我删除了不一致的数据库标记。请仅标记您正在使用的数据库。(2) 您现在了解了错误消息的哪一部分?这似乎很清楚。该列不在子查询中。亲爱的,我知道一切都很清楚,但我为什么要面对这个错误您好,欢迎!表的架构似乎缺少您请求的列。您可以共享所用表的定义吗?该分组无效,应引发异常。通常,除了作为设置函数参数的列之外,您可以按所选的相同列进行分组。此外,为什么不按任何设置函数进行分组?