使用wordpress数据库,我们有像wp_options和wp_postmeta这样的表。这些按主键 ID 分组,然后按"option_name"和"option_value"等字段分组;
因此,例如,要找出三个值,我需要执行 3 个不同的查询。
有没有一种正确的方法只用一个查询来完成所有这些?
请对此有所了解,并分享正确的方法。
SELECT option_value FROM bdlocal_wrdp1.wp_options WHERE option_name='siteurl';
SELECT option_value FROM bdlocal_wrdp1.wp_options WHERE option_name='blogname';
SELECT option_value FROM bdlocal_wrdp1.wp_options WHERE option_name='blogdescription';
(返回 example.com 示例博客,这是一个示例博客。
SELECT option_name,
option_value
FROM bdlocal_wrdp1.wp_options
WHERE option_name IN ('siteurl', 'blogname', 'blogdescription')
执行此查询后,您将拥有 3 对 option_name + option_value
值。
你可以
为此IN
子句,
SELECT option_value
FROM bdlocal_wrdp1.wp_options
WHERE option_name IN ('siteurl','blogname','blogdescription')
select (case when option_name='siteurl' then option_value else 0 end ) as 'siteurl',
(case when option_name='blogname' then option_value else 0 end ) as 'blogname',
(case when option_name='blogdescription' then option_value else 0 end ) as 'blogdescription' from bdlocal_wrdp1.wp_options
您还可以将 MySQL 联合用于此功能:
select option_name,option_value from wp_options where option_name='siteurl' UNION ALL
select option_name,option_value from wp_options where option_name='blogname' UNION ALL
select option_name,option_value from wp_options where option_name='blogdescription';
您可以在此处阅读有关工会的更多信息以及一些示例。