- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我下面的查询返回以下错误消息“‘on 子句’中的未知列‘O.order_id’”。我猜这是一个优先级问题?但我没有足够的背景来弄清楚它可能在哪里。
我最近刚刚添加了“where”子句,以便我可以过滤产品类别。
SELECT
MAX(
CASE WHEN OIM.meta_key = 'enrolment_id' THEN(
SELECT
firstname
FROM
wp_sp_enrolments E
WHERE
OIM.meta_value = E.id
)
END
) AS 'firstname',
MAX(
CASE WHEN OIM.meta_key = 'enrolment_id' THEN(
SELECT
surname
FROM
wp_sp_enrolments E
WHERE
OIM.meta_value = E.id
)
END
) AS 'surname',
O.order_item_name AS 'school',
MAX(
CASE WHEN OIM.meta_key = 'class' THEN OIM.meta_value
END
) AS 'class',
MAX(
CASE WHEN OIM.meta_key = 'fee-type' THEN OIM.meta_value
END
) AS 'fees',
MAX(
CASE WHEN OIM.meta_key = 'enrolment_Id' THEN(
SELECT
UM.meta_value
FROM
wp_usermeta UM,
wp_sp_enrolments E
WHERE
UM.meta_key = '_user_phone' AND UM.user_id = E.memberid AND E.id = OIM.meta_value
LIMIT 1
)
END
) AS 'phone', MAX(
CASE WHEN OIM.meta_key = 'enrolment_id' THEN(
SELECT
U.user_email
FROM
wp_users U,
wp_sp_enrolments E
WHERE
U.id = E.memberid AND E.id = OIM.meta_value
LIMIT 1
)
END
) AS 'email', P.post_status AS 'status'
FROM
wp_woocommerce_order_items O,
wp_terms T,
wp_term_taxonomy TT,
wp_term_relationships TR,
wp_woocommerce_order_itemmeta OIM
INNER JOIN wp_posts P ON
P.ID = O.order_id
WHERE
T.name = 'workshops' AND T.term_id = TT.term_id AND TT.taxonomy = 'product_cat' AND TT.term_id = TR.term_taxonomy_id AND TR.object_id = OIM.meta_value AND OIM.meta_key = '_product_id' AND OIM.order_item_id = O.order_item_id
GROUP BY
O.order_item_id
最佳答案
如您所料,问题在于逗号运算符和连接运算符的优先级。
关于 https://dev.mysql.com/doc/refman/8.0/en/join.html据称:
However, the precedence of the comma operator is less than that of INNER JOIN, CROSS JOIN, LEFT JOIN, and so on. If you mix comma joins with the other join types when there is a join condition, an error of the form Unknown column 'col_name' in 'on clause' may occur.
意思是,最好不要混合。
所以不是内连接,而是
, wp_posts P
并在WHERE
and P.id=O.order_id and P.id is not null
或者,您可以将逗号分隔的表格放在括号中:
(wp_woocommerce_order_items O,
wp_terms T,
wp_term_taxonomy TT,
wp_term_relationships TR,
wp_woocommerce_order_itemmeta OIM )
INNER JOIN ...
只是另一个例子,为什么我对逗号运算符有如此强烈的反感。
关于mysql - 使用 WooCommerce 的 'O.order_id' SQL 查询中的未知列 'on clause',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55677081/
MySQL 首先执行什么:WHERE 子句还是ORDER BY 子句? 我问的原因是确定我是否应该为给定的列添加索引。 我有如下表格: | Column | Type | Inde
如果您要在 SQL 查询中连接多个表,您认为将连接语句放在什么地方比较好:在 FROM 子句或 WHERE 子句中? 如果您打算在 FROM 子句中执行它,您如何格式化它以使其清晰易读? (我说的是一
mysql新版本与only_full_group_by的问题 我需要使用 Group by (col_id) 和 order by (date) 获取表值我在 mysql 中的代码如下: SELECT
获取异常: With-clause referenced two different from-clause elements 使用以下实体执行以下查询时: @Entity public class
我已经编写查询以从作为表 tbl_states 的主键的 tbl_summer 表中获取状态为事件的不同 stateID。 我想要按字母顺序列出不同的州名。实际上我是从以下查询中得到的,但字母顺序没有
我试图找出以下 2 个查询之间的区别 查询 1: 其中我在子句中给出了条件 'Orders.OrderID != null' SELECT Customers.CustomerName, Orders
我有两个模型: const User = sequelize.define('User', { email: { type: DataTypes.STRING, },
我正在尝试在我的 JPA 存储库之一中使用内部联接进行选择 查询: @Query(value = "select wm.WagerIdentification, wm.BoardNumber, wm.
我正在尝试从表中获取记录总数并使用以下 MySQL 查询: SELECT COUNT(*) AS cnt FROM `info` WHERE 1 GROUP BY FROM_UNIXTIME(sign
我开始使用 Hibernate 并且我正在使用 HQL,使用一些连接从数据库中检索数据但是出现此错误,感谢任何有关如何解决此问题的帮助。 Field.hbm.xml 文件:
使用Finish语句的代码和不使用Finally语句的代码之间有什么不同?。这对于没有Finish语句的代码来说,它们看起来是一样的。有什么不同吗,比如表现还是什么?。这是我从那个网站得到的流程图。在
在 Redshift 上输入以下查询时,我收到“错误:带有 ORDER BY 子句的聚合窗口函数需要框架子句”消息。请帮助 - 我正在尝试查看成员从第一天到今天的成长情况。谢谢。 select dat
我正在为此编写一个查询: select * from players where player_name like '%K% and player_rank 1; 现在,函数 check_if_p
我有 3 个 SQL 查询: 从 user_id =4 的用户中选择 student_id;//返回 35 select * from student where student_id in (35)
我有这样一个 xml: nota1 nota2 nota3 nota4 nota1
我一直试图找出错误,我正在做一种编程语言并有下一个代码,使用 ragg,我有一个语法对象(resto ...),它有一个括号作为数据,我转换这个语法对象到一个数据: (let ([i (synt
我正在尝试在 MS SQL Server 上连接 2 个或更多表。所有表都有确定事件记录的 IsActive 字段。 (IsActive = 1 表示事件记录,IsActive = 0 表示非事件记录
有人可以指导我修复此查询中的错误吗: var objApps = from item in xDoc.Descendants("VHost")
我在 MySQL 中遇到错误:错误代码:1054。“on 子句”中的未知列“s.Product_id” 出现在: SELECT c.customer_ID, p.Product_id, p.Produ
我正在尝试运行一个使用 WHERE 子句从表中选择值的查询,该查询只返回所有条件都有值的行,我是否要返回同样为空的值? Language Table
我是一名优秀的程序员,十分优秀!