如何将三个 MySQL 查询合并为一个



使用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';

您可以在此处阅读有关工会的更多信息以及一些示例。

最新更新