左联接表的SQL语法';未知表';

左联接表的SQL语法';未知表';,sql,syntax,phpmyadmin,mysql-error-1064,Sql,Syntax,Phpmyadmin,Mysql Error 1064,显示所有售出产品的产品ID、产品名称和销售日期 SELECT products.prod_id AS Product products.prod_name AS Product Name FROM sales JOIN products WHERE sales.date_of_sale = sales.products; #1064-您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解使用near'products.prod_name作为第2行sales JOIN product

显示所有售出产品的产品ID、产品名称和销售日期

SELECT products.prod_id AS Product
products.prod_name AS Product Name
FROM sales JOIN products WHERE sales.date_of_sale = sales.products;

#1064-您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解使用near'products.prod_name作为第2行sales JOIN products WHERE sales.date_of_'产品名称的正确语法。欢迎使用S/O。您的查询显然有点偏离。执行“联接”标识左表(列在第一位)和右表(列在第二位)之间的关系。这通常是一种A.ID=B.ID的相关性。现在,在没有提供实际的表结构的情况下,我认为您需要的是下面这样的内容,即使用缩写的“别名”来缩短查询并简化查询的可读性

select
      s.date_of_sale,
      p.prod_name
   from
      sales s
         join products p
            on s.prod_id = p.prod_id
   order by
      p.prod_name,
      s.date_of_sale desc
请注意,Sales(s别名)和Products(p别名)之间连接的猜测上下文是基于双方各自的产品ID的

所选内容的字段列表是要检索的列,因此是销售日期和实际产品名称


对于grins,我还对数据进行了排序,以便将所有相同的产品作为主要产品进行排序,然后,对于每个产品,我按照最新的销售日期进行排序。只是一个额外的例子,说明如何对结果的输出进行排序。

您缺少一个逗号,这是一个输入错误。你的
on
子句也不正确,但这与你问的问题无关。你在列别名后漏掉了一个逗号。是否有SQL/PHP专业人士我可以一对一地与他们交谈,这让我有一场噩梦。。。