SQL Join语句在where子句上失败

时间:2014-02-05 10:01:05

标签: mysql sql join

问题已解决。事实证明PHP代码的其他部分正在搞砸我正在做的事情。 D'喔

感谢大家的快速反应。

===

任何人都能说明这里可能出现的问题:

SELECT * FROM sale_item 
JOIN sale 
ON sale_item.id_sale = sale.id 
WHERE sale.id_job = 1 AND sale_item.id_product = 1

我从MySQL收到错误:“Unknown column 'id_product' in 'where clause'”

这非常令人沮丧,因为这应该非常简单。但我对SQL有点新意。那么我是否错过了任何可能导致此问题的语法方面的错误?表和所有列都存在。

编辑 - 更新

它决定了它不是联盟。我无法识别id_product字段存在,即使我可以使用phpmyadmin浏览该表及其中的数据。

以下是sale_item表的导出:

CREATE TABLE `sale_item` (
`id_sale` int(11) default NULL,
`id_product` int(11) default NULL,
`amount` int(11) default '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

现在,我把它剪掉了,即使这仍然无效:

SELECT * FROM sale_item WHERE id_product = 1

2 个答案:

答案 0 :(得分:1)

您的语法看起来不错。该错误消息强烈暗示表sale_item没有名为id_product的列。也许它在sale表中?

您应该在问题中添加每个表的所有列的列表。

答案 1 :(得分:0)

  

您的表名称存储在sale_item中,没有列   名为id_product。这使得查询失败。

请确保您的列名正确