Php 1054-使用左联接的未知列

Php 1054-使用左联接的未知列,php,mysql,sql,Php,Mysql,Sql,我正在努力使这个SQL查询正常工作。 我试图在一个查询中获取所需的信息,因为我获得的数据将使用PHP转换为CSV 我的以下SQL查询是: SELECT C.customer_ID, C.l_Name AS Surname, C.f_Name AS 'First Name', C.travel_Date, T.tour_Name, S.f_Name AS Staff, S.l_Name AS Staff_Surname, PA.pay_Method FROM Customers AS C

我正在努力使这个SQL查询正常工作。 我试图在一个查询中获取所需的信息,因为我获得的数据将使用PHP转换为CSV

我的以下SQL查询是:

SELECT C.customer_ID, C.l_Name AS Surname, 
C.f_Name AS 'First Name', C.travel_Date,
T.tour_Name, 
S.f_Name AS Staff, S.l_Name AS Staff_Surname, 
PA.pay_Method 
FROM Customers AS C 
LEFT JOIN Tour AS T ON C.trip_Taken = T.tour_ID 
LEFT JOIN Staff AS S ON O.staff_ID = S.staff_ID 
LEFT JOIN Payment AS PA ON O.pay_ID = PA.pay_ID 
WHERE C.customer_ID NOT IN (SELECT O.customer_ID 
FROM Customers AS C, Orders AS O 
WHERE C.travel_Date >= '2014-07-08 00:00:00' 
AND C.travel_Date <= '2014-07-08 23:59:59' AND C.customer_ID = O.customer_ID )

我在“on子句”中得到了这个错误1054-未知列“O.staff\u ID”,我不确定如何着手修复它。任何帮助都将不胜感激。在您编写的某个时候运行MySQL 5.0和最新的PHP

LEFT JOIN Staff AS S ON O.staff_ID = S.staff_ID 
但O是在括号范围内定义的。在中更改您的查询

LEFT JOIN Staff AS S ON Orders.staff_ID = S.staff_ID 

你从另一个答案中得到了错误的原因。如果你真的想加入Orders,那就在Orders中加入另一个join子句,如下所示

FROM Customers AS C 
LEFT JOIN Tour AS T ON C.trip_Taken = T.tour_ID
LEFT JOIN Orders AS OO ON C.customer_ID = OO.customer_ID <--Included
LEFT JOIN Staff AS S ON OO.staff_ID = S.staff_ID <-- Join with Orders
LEFT JOIN Payment AS PA ON OO.pay_ID = PA.pay_ID 

报告的问题是由于O别名是在子查询中引入的,因此不能在外部联接中使用

考虑取消子查询,这也解决了初始问题

选择 来自客户的C 在C.customer\u ID=O.customer\u ID上以O的身份加入订单-此处加入/别名 在C.trip\u Take=T.Tour\u ID上以T的身份左键加入巡更 左键作为S ON O.Staff\u ID=S.Staff\u ID加入Staff-因此可以在此处使用 在O.pay\u ID=PA.pay\u ID上以PA身份加入付款 -提升子查询条件 -FWIW,情况看起来很奇怪:客户只有一个旅行日期? 其中非C.travel_Date>=“2014-07-08 00:00:00”
和C.travel_日期在子查询中引入O,在联接期间无法访问该日期。我会在..中删除。。完全选择并用[Other]联接替换它。@user2864740您建议我如何写这篇文章?SQL不是我的强项,lolI试过了,最后我得到了1054-未知列“Orders.staff\u ID”in“on”子句“Yes the Orders table and column staff\u ID exist可以运行每个表的show create table吗?这样我们就可以重新创建模式了?谢谢你的帮助。这将引导我走上正确的道路,以获得正确的查询。再次感谢你的帮助。