- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 WordPress 网站,我必须通过外部脚本将信息提取到外部应用程序中。
我只是在一次 mysql 调用上遇到了一点问题
我在 wp_posts 表中列出了折扣,然后在 wp_postmeta 表中列出了开始日期和结束日期。
但是,我可以在一个 mysql 查询中选择所有有效的折扣(即开始日期和结束日期之间)
谁能告诉我该怎么做。
下面我有一个包含 4 个示例的转储应返回 2 (104745,104744)1 是旧折扣 (104743)1 尚未上线 (104666)
非常感谢
DROP TABLE IF EXISTS `wp_postmeta`;
CREATE TABLE `wp_postmeta` (
`meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`post_id` bigint(20) unsigned NOT NULL DEFAULT '0',
`meta_key` varchar(255) DEFAULT NULL,
`meta_value` longtext,
PRIMARY KEY (`meta_id`),
KEY `post_id` (`post_id`),
KEY `meta_key` (`meta_key`)
) ENGINE=InnoDB AUTO_INCREMENT=459770 DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `wp_posts`;
CREATE TABLE `wp_posts` (
`ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`post_author` bigint(20) unsigned NOT NULL DEFAULT '0',
`post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`post_content` longtext NOT NULL,
`post_title` text NOT NULL,
`post_excerpt` text NOT NULL,
`post_status` varchar(20) NOT NULL DEFAULT 'publish',
`comment_status` varchar(20) NOT NULL DEFAULT 'open',
`ping_status` varchar(20) NOT NULL DEFAULT 'open',
`post_password` varchar(20) NOT NULL DEFAULT '',
`post_name` varchar(200) NOT NULL DEFAULT '',
`to_ping` text NOT NULL,
`pinged` text NOT NULL,
`post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`post_content_filtered` longtext NOT NULL,
`post_parent` bigint(20) unsigned NOT NULL DEFAULT '0',
`guid` varchar(255) NOT NULL DEFAULT '',
`menu_order` int(11) NOT NULL DEFAULT '0',
`post_type` varchar(20) NOT NULL DEFAULT 'post',
`post_mime_type` varchar(100) NOT NULL DEFAULT '',
`comment_count` bigint(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`),
KEY `post_name` (`post_name`),
KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`),
KEY `post_parent` (`post_parent`),
KEY `post_author` (`post_author`)
) ENGINE=InnoDB AUTO_INCREMENT=104855 DEFAULT CHARSET=utf8;
INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES
(104745, 0, '2014-02-15 00:00:00', '2014-02-15 00:00:00', '<div class=\"code-details\">\r\n<p class=\"code-description\"><span class=\"merchant-name\">Interflora</span> £4 Off Orders over £40 at Interflora T&C: Minimum product value of £40 applies offer excludes overseas, giftcard and Interflora Gold purchases.</p>\r\n</div>', '£4 Off Orders over £40 at Interflora T&C: Minimum product value of £40 applies offer excludes overseas, giftcard and Interflora Gold purchases.', '', 'publish', 'closed', 'closed', '', '4-off-orders-over-40-at-interflora-t40-applies-%c2%96-offer-excludes-overseas-giftcard-and-interflora-gold-purchases', '', '', '2014-02-17 16:01:36', '2014-02-17 16:01:36', '', 0, 'http://www.site.com/discount-codes/4-off-orders-over-40-at-interflora-t40-applies-%c2%96-offer-excludes-overseas-giftcard-and-interflora-gold-purchases/', 0, 'discount_codes', '', 0),
(104744, 0, '2014-02-17 00:00:00', '2014-02-17 00:00:00', '<div class=\"code-details\">\r\n<p class=\"code-description\"><span class=\"merchant-name\">Interflora</span> 10% Off All Hampers over £25 at Interflora T&C: Minimum product value of £24.99 applies offer excludes overseas, giftcard and Interflora Gold purchases.</p>\r\n</div>', '10% Off All Hampers over £25 at Interflora T&C: Minimum product value of £24.99 applies offer excludes overseas, giftcard and Interflora Gold purchases.', '', 'publish', 'closed', 'closed', '', '10-off-all-hampers-over-25-at-interflora-t24-99-applies-%c2%96-offer-excludes-overseas-giftcard-and-interflora-gold-purchases', '', '', '2014-02-17 16:01:34', '2014-02-17 16:01:34', '', 0, 'http://www.site.com/discount-codes/10-off-all-hampers-over-25-at-interflora-t24-99-applies-%c2%96-offer-excludes-overseas-giftcard-and-interflora-gold-purchases/', 0, 'discount_codes', '', 0),
(104743, 0, '2014-02-15 00:00:00', '2014-02-15 00:00:00', '<div class=\"code-details\">\r\n<p class=\"code-description\"><span class=\"merchant-name\">Interflora</span> 10% Off the Spring Flowers Collection at Interflora (Min Spend £30) T&C: Minimum product value of £30.00 applies offer excludes overseas, giftcard and Interflora Gold purchases.</p>\r\n</div>', '10% Off the Spring Flowers Collection at Interflora (Min Spend £30) T&C: Minimum product value of £30.00 applies offer excludes overseas, giftcard and Interflora Gold purchases.', '', 'publish', 'closed', 'closed', '', '10-off-the-spring-flowers-collection-at-interflora-min-spend-30-t30-00-applies-%c2%96-offer-excludes-overseas-giftcard-and-interflora-gold-purchases', '', '', '2014-02-17 16:01:33', '2014-02-17 16:01:33', '', 0, 'http://www.site.com/discount-codes/10-off-the-spring-flowers-collection-at-interflora-min-spend-30-t30-00-applies-%c2%96-offer-excludes-overseas-giftcard-and-interflora-gold-purchases/', 0, 'discount_codes', '', 0),
(104666, 0, '2014-02-17 00:00:00', '2014-02-17 00:00:00', '<div class=\"code-details\">\r\n<p class=\"code-description\"><span class=\"merchant-name\">Marks and Spencer</span> 20% off Outlet (does not include the BOGOHP offers)</p>\r\n</div>', '20% off Outlet (does not include the BOGOHP offers)', '', 'publish', 'closed', 'closed', '', '20-off-outlet-does-not-include-the-bogohp-offers', '', '', '2014-02-17 16:01:50', '2014-02-17 16:01:50', '', 0, 'http://www.site.com/discount-codes/20-off-outlet-does-not-include-the-bogohp-offers/', 0, 'discount_codes',
INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES
(459207, 104743, 'discount_code_merchant_name', 'Interflora'),
(459208, 104743, 'discount_code', 'SPINGFLO'),
(459209, 104743, 'discount_code_url', 'd.php?v=1969&t=141617&p=http://www.interflora.co.uk/category/spring-flowers'),
(459210, 104743, 'discount_code_start_date', '2014-02-05 00:00:00'),
(459211, 104743, 'discount_code_end_date', '2014-02-08 23:59:59'),
(459212, 104743, '_wp_page_template', 'default’),
(459213, 104744, 'discount_code_merchant_name', 'Interflora'),
(459214, 104744, 'discount_code', 'HAMPER'),
(459215, 104744, 'discount_code_url', 'd.php?v=1969&t=141617&p=http://www.interflora.co.uk/category/hampers-gifts/'),
(459216, 104744, 'discount_code_start_date', '2014-02-17 00:00:00'),
(459217, 104744, 'discount_code_end_date', '2014-02-23 23:59:59'),
(459218, 104744, '_wp_page_template', 'default'),
(459225, 104745, 'discount_code_merchant_name', 'Interflora'),
(459226, 104745, 'discount_code', 'SPRING4IT'),
(459227, 104745, 'discount_code_url', 'd.php?v=1969&t=141617&p=http://www.interflora.co.uk/'),
(459228, 104745, 'discount_code_start_date', '2014-02-15 00:00:00'),
(459229, 104745, 'discount_code_end_date', '2014-02-28 23:59:59'),
(459230, 104745, '_wp_page_template', 'default’),
(459285, 104666, 'discount_code_merchant_name', 'Marks and Spencer'),
(459286, 104666, 'discount_code', 'N/A'),
(459287, 104666, 'discount_code_url', 'd.php?v=1402&t=141617&p=http://outlet.marksandspencer.com/'),
(459288, 104666, 'discount_code_start_date', '2014-03-17 00:00:00'),
(459289, 104666, 'discount_code_end_date', '2014-03-18 23:59:59'),
(459290, 104666, '_wp_page_template', 'default’);
最佳答案
您让我们进行了一些逆向工程!
我认为,在pseudosql中你需要的是
SELECT id
FROM discount_codes
WHERE discount_code_start_date < NOW()
AND discount_code_end_date > NOW()
这将回滚已开始但未结束的折扣代码的帖子 ID 列表。
因此,诀窍是以某种方式强制 WordPress 架构为您提供此结果。像往常一样,弄清楚这一点是一件很有趣的事情。
这就是你要做的。您需要获取作为有效折扣代码的 wp_posts 条目 id 值。这很简单。
SELECT id
FROM wp_posts
WHERE post_type = 'discount_codes'
AND post_status = 'publish
接下来您需要获取有用的 post_meta 项目。这些需要子查询才能正确完成。
SELECT post_id AS id,
CAST(meta_value AS DATETIME) AS discount_code_start_date
FROM post_meta
WHERE meta_key = 'discount_code_start_date'
同样,您需要此作为结束日期。
SELECT post_id AS id,
CAST(meta_value AS DATETIME) AS discount_code_end_date
FROM post_meta
WHERE meta_key = 'discount_code_end_date'
然后您需要将所有这些内容连接在一起并应用正确的 WHERE 子句。
SELECT p.id
FROM wp_posts AS p
JOIN (
SELECT post_id AS id,
CAST(meta_value AS DATETIME) AS discount_code_start_date
FROM post_meta
WHERE meta_key = 'discount_code_start_date'
) AS s ON (p.id = s.id)
JOIN (
SELECT post_id AS id,
CAST(meta_value AS DATETIME) AS discount_code_end_date
FROM post_meta
WHERE meta_key = 'discount_code_end_date'
) AS e ON (p.id = e.id)
WHERE p.post_type = 'discount_codes'
AND p.post_status = 'publish'
AND s.discount_code_start_date < NOW()
AND e.discount_code_end_date > NOW()
正确使用 post_meta 表的秘诀在于使用适当的 meta_key 值提取行的子查询。
关于mysql - 具体mysql复杂查询连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21838864/
在与大语言模型对话时,应该提供尽可能清晰和具体的指令来表达希望模型执行的操作,这将有助于模型给出接近你所期待的输出,并降低得到无关或不正确回复的可能性。但需要注意的是,编写清晰的指令不意味着编写简短的
我是 Robert,我在使用 JavaScript 时遇到了一些问题。 我得到了一个 (这是隐藏的)。我唯一想问你的是:我想检查日期是否在 中已通过。如果通过了我想改变CSS中容器的背景颜色。不幸的
所以我的问题是我想要求输入使用扫描仪的信息,但它根本不打印出来。当它显示跳过的扫描仪的值时,Scanner CheeseType = new Scanner(System.in);,我得到 null。
Fe_Order_Items fe_order_items_id fe_order_specification_id fe_users_id fe_menu_items_id fe_order_ite
人们普遍提到 - “Celery 是一个基于分布式消息传递的异步任务队列/作业队列”。虽然我知道如何使用 Celery 工作人员等。但内心深处我不明白分布式消息传递的真正重要性和意义以及任务队列在其中
我试图理解下面的代码,但有一些我以前从未见过的东西,那就是:“\&\&” 这是代码: int main() { fork() \&\& (fork() || fork()); exit(EXIT_SU
您好,我是论坛新手。 我有很多使用 python 的经验,但没有使用 tkinter 的经验。 这是我的代码: from tkinter import * def Done(): celEn
在 C# 中,假设我们有一个通用类和一个具体类 [Serializable] public class GenericUser { ... [Serializable] public class Co
我尝试使用的库有一个通用抽象类,其中有两个实现该基础的子类。我想编写一个类,它将根据构造函数参数的参数类型自动创建其中一个子级的实例。 基类没有默认构造函数 基类的构造函数也需要其他通用类的实例 代码
我是 Angular 的新手,我一直在尝试了解它的工作原理。我正在制作一个简单的应用程序,其中有人可以通过简单的 html 界面添加用户并使用 SQLite 将其存储在数据库中,然后他们可以编辑或删除
我想创建一个用于存储数据的对象,限制读/写访问。 例如: OBJ obj1; OBJ obj2; // DataOBJ has 2 methods : read() and write() DataO
注入(inject)/隔离密封在 dll 中且不实现接口(interface)的类的首选方法是什么? 我们使用 Ninject。 假设我们有一个类“Server”,我们想要注入(inject)/隔离“
在花费了至少 10 个小时的时间浏览在线资源、视频和教程之后,我有两个关于将我的 Android 应用程序与 mySQL 数据库连接的问题。 保存文件 1) 所有教程都将 php 文件保存在 C/WA
许多有经验的开发人员建议不要使用 Django multi-table inheritance因为它的性能不佳: Django gotcha: concrete inheritance通过 Jacob
我知道我冒着挨揍的风险,但我觉得我在这件事上要绕圈子。为了让模型可用于多个项目,我们已将模型移出到一个单独的项目(一个 DLL)中,作为一系列要实现的接口(interface)。我们的界面上有这一行:
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我遇到了一个特定 mac 的问题,它没有显示我正确构建的某个网站。我测试过的所有其他 mac 和 pc 都能正确显示网站,但是在所有浏览器中这个特定的 mac 显示不正确就像提到的那样,这在其他每台计
给定这段代码 public override void Serialize(BaseContentObject obj) { string file = ObjectDataStoreFold
我已经搜索了网络和我的服务器,但我无法找到我网站的 php.ini。我的网站出现以下错误。 Class 'finfo' not found Details G:\inetpub\wwwroot\lan
SQL 爱好者: 我正在尝试通过玩以下用例来挖掘我一些生疏的 sql 技能: 假设我们有一家有线电视公司,并且有跟踪的数据库表: 电视节目, 观看我们节目的客户,以及 观看事件(特定客户观看特定节目的
我是一名优秀的程序员,十分优秀!