sql - 您如何使用数据库元键和值?
问题描述
我正在尝试使用 SQL 来检索 Woocommerce 订单项元键和值,以便我可以在自己的报告中总结信息,但我真的很难将元键和值提取为列。任何人都可以提供任何 SQL 示例吗?是否有可用于元数据的 Wordpress API?
我尝试创建以下 SQL 作为扩展产品信息查询的基础。它返回正确类型的数据,但只返回一行:
SELECT O.order_item_id, O.order_item_name,
MAX(IF(OIM.meta_key = 'class', OIM.meta_value, NULL)) AS class
FROM wp_woocommerce_order_items AS O
LEFT JOIN wp_woocommerce_order_itemmeta AS OIM on O.order_item_id =
OIM.order_item_id
WHERE O.order_item_name='Smiths Night School';
谢谢
解决方案
我很高兴你得到它!这是学习事物的最佳方式。为了帮助您,我将向您展示在 WordPress (PHP) 中执行此操作的正确方法:
<?php
//DB
global $wpdb;
//Get results from the database
$results = $wpdb->get_results( "SELECT O.order_item_id, O.order_item_name, 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' FROM wp_woocommerce_order_items O INNER JOIN wp_woocommerce_order_itemmeta OIM ON O.order_item_id = OIM.order_item_id WHERE O.order_item_name='Smiths Night School' GROUP BY O.order_item_id, O.order_item_name" );
foreach ( $results as $result ) {
echo $result->your_field_from_the_table;
}
WordPress 定义了一个名为 的类wpdb
,其中包含一组用于与数据库交互的函数。这是使用此类的好方法,因为它简单且节省。
您也不需要在任何 PHP 文件中定义您的数据库password
和user
数据库(如果您使用 PHP 数据库功能,您需要做什么)。如果您使用wpdb
,则此信息直接来自wp-config.php
文件,这更安全一些。
推荐阅读
- php - 在php中用json填充dataModel
- javascript - 反应钩子形式,一个组件正在将隐藏类型的受控输入更改为不受控制
- jenkins - 检查独立 Jenkins 作业的状态后继续使用 Jenkins Pipeline
- python - 我更新数据时出错,出现“数据库已锁定”,我使用 Python 3 和 sqlite
- java - 如何在春季实际使用 ical
- android - 如何在图像视图中添加阴影?
- python - 防止我的 python 脚本同时执行两次
- macos - 使用 AppleScript Objc 设置扩展属性
- python - cuDF 中的 .data 函数不返回
- google-sheets - 如何使用 Google 表格中另一个单元格公式的值填充 QUERY 函数的“范围”部分?