【发布时间】:2023-03-20 00:35:01
【问题描述】:
我有一个简单的 Select 语句,它从 2 个运行良好的 MySQL 表中返回数据。我现在需要从第三个相关表中返回一些数据,但不知道该怎么做。
这是我当前的 SQL 查询
select
p.ID,
p.post_title,
p.post_name,
max(CASE WHEN pm.meta_key = '_thumbnail_id' THEN pm.meta_value END ) as thumbnailID,
CAST(max( CASE WHEN pm.meta_key = '_price' THEN pm.meta_value END ) AS UNSIGNED) as Price,
max( CASE WHEN pm.meta_key = '_stock_status' THEN pm.meta_value END ) as stockStatus,
max( CASE WHEN pm.meta_key = '_sku' THEN pm.meta_value END ) as SKU,
CAST(max( CASE WHEN pm.meta_key = '_sale_price' THEN pm.meta_value END ) AS UNSIGNED) as salePrice,
CAST(max( CASE WHEN pm.meta_key = '_regular_price' THEN pm.meta_value END ) AS UNSIGNED) as regularPrice,
CAST(max( CASE WHEN pm.meta_key = 'total_sales' THEN pm.meta_value END ) AS UNSIGNED) as totalSales
from wp_posts p
join wp_postmeta pm
on p.ID = pm.post_id
where post_type = 'product'
group by p.ID
我现在需要从 wp_postmeta 表中获取值,其中 wp_postmeta 表中 _thumbnail_id 的值与 wp_postmeta 表中 post_id 值的值相匹配,并且 meta_key 值 = _wp_attached_file。
以下是 wp_postmeta 表中的一些记录:
第一条记录的 _thumbnail_id = 100。我现在需要从 wp_postmeta 表(同一张表)中获取记录的值,其中 post_id = 100 和 meta_key = _wp_attached_file,如下所示:
我知道 thumbnail_id,因为它在我当前的查询中作为 thumbnailID 返回 - 只是不确定如何再次将它加入 wp_postmeta 表。
【问题讨论】:
-
为什么你需要再次加入..有什么想法吗?
-
加入您的查询和 wp_postmeta。
select t.*, att.meta_value from (_your query_) as t left join wp_postmeta as att on att.post_id = t.thumbnail_id and att.meta_key ='_wp_attached_file'