本地服务器此查询运行顺畅。但是,当我运行此托管服务器时,我收到此错误
#1054 - 'order clause'中的未知列'orders.id'
这不是我的服务器问题。这是phpmyadmin出乎意料的问题。 当我在mysql workbench上运行相同的查询时,我发现了这一点。 MySQL的 工作台返回确切结果
这是我的查询。 请注意,我有orders.id
列
SELECT * FROM orders ord1
join (select * from orders where orders.is_visible=1) ord2
on ord1.id=ord2.id
where ord1.company_id is not null
答案 0 :(得分:1)
您是否有机会使用phpMyAdmin?我的理解是phpMyAdmin添加了一个order by
子句。如果你明确选择了你真正需要的列(而不是*
),它应该解决问题。
答案 1 :(得分:0)
通过执行以下操作可以获得您尝试获得的相同结果:
SELECT
*
FROM
orders
WHERE
company_id IS NOT NULL
AND is_visible = 1
尝试运行此查询,它基本上完全相同,但效率更高。您无需将表连接到自身即可应用多个条件。