【发布时间】:2016-06-24 02:16:50
【问题描述】:
我已经读过,如果“$wpdb->get_results”查询中缺少数据,那么结果将完全为空。
我的查询如下:
$results = $wpdb->get_results("
SELECT
( SELECT guid FROM ch_posts WHERE id = m.meta_value ) AS thumbnail, ID, post_title, post_name, SUBSTR(post_content, 20) AS content, post_date, t.name AS category
FROM ch_posts, ch_postmeta m
JOIN ch_term_relationships tr
JOIN ch_terms t ON t.term_id = tr.term_taxonomy_id
JOIN ch_term_taxonomy tx ON tr.term_taxonomy_id = tx.term_taxonomy_id
WHERE post_status = 'publish'
AND post_author = $user_ID
AND post_type = 'product'
AND ch_posts.ID = m.post_id
AND m.meta_key = '_thumbnail_id'
AND tr.object_id = ch_posts.ID
AND tx.taxonomy = 'product_cat'
");
然后
foreach ($results as $result) { }
由于我的帖子缺少“缩略图”记录,因此不会显示整个结果集。是否可以修改我的查询以显示找到的结果而忽略丢失的结果?或者用其他东西替换缺失值?
我尝试过使用CASE,但无济于事。
欢迎任何帮助
【问题讨论】:
-
合并(列,ValueIfNull)
-
如果您愿意,请考虑遵循以下简单的两步操作: 1. 如果您还没有这样做,请提供适当的 DDL(和/或 sqlfiddle),以便我们可以更轻松地复制问题。 2. 如果您尚未这样做,请提供与步骤 1 中提供的信息相对应的所需结果集。
-
有什么理由不使用 WP_Query?