祝您有个美好的一天。首先,我想为我的英语不好而道歉,但是我使用Google翻译。 最近,我偶然发现了一个查询,该查询给我带来了一些麻烦,但我无法弄清楚。查询如下:
$query_mq = "SELECT p.ID FROM $wpdb->posts AS p
LEFT JOIN $wpdb->postmeta AS pm1 ON p.ID = pm1.post_id
WHERE p.post_type = 'sede'
AND p.post_status = 'publish'
AND (
(pm1.meta_key LIKE 'sale_meeting_%_dimensioni_superficie'
AND pm1.meta_value NOT BETWEEN $mq_da AND $mq_a)
OR p.ID NOT IN
(SELECT pp.ID FROM $wpdb->posts AS pp
LEFT JOIN $wpdb->postmeta AS pm2 ON pp.ID = pm2.post_id
WHERE pp.post_type = 'sede'
AND pp.post_status = 'publish'
AND pm2.meta_key LIKE
'_sale_meeting_%_dimensioni_superficie' )
)";
该查询可能有效,但是如果数据库中是否存在两个匹配的值,则会出现问题。
我导出了数据,但是SQL文件确实太大,所以我将发布的原始查询的内容减至最少,从而仅导出两个表。流行的zip文件在这里:https://galaxypictures.eu/sql.zip。以报价为例,假设$ mq_da为101,$ mq_a为200,p.ID 31157具有两个关联,即sale_meeting_0_dimensioni_superficie和sale_meeting_1_dimensioni_superficie。由于sale_meeting_0_dimensioni_superficie是75,sale_meeting_1_dimensioni_superficie是150。研究参数内只有一个,因此p.ID 31157出现在结果中,而我只需要因为一个是搜索参数的一部分,那么p.ID 31157就不会出现在结果中。谢谢 有什么建议吗? 预先谢谢你。