繁体   English   中英

如何在同一个表的第二个查询中使用一个查询的结果集

[英]How to use result set from one query in second query on same table

我需要查询一次表以获得基于给定条件的ID号,然后我需要使用这些ID号来检索另一组值,所有这些都在同一个表上。 这是第一个查询:

SELECT post_id
FROM ih_postmeta
WHERE meta_key = '_edd_discount_uses'
AND meta_value > '0'

这适用于检索post_id数字。 现在我需要运行相当于这个查询:

SELECT meta_value
FROM ih_postmeta
WHERE post_id = '1088' 
    AND meta_key = '_edd_discount_code'

这是有效的,除了我需要能够遍历从第一个查询获得的值并且没有WHERE post_id =硬编码。

以下是有关特定post_id的表格中的示例:

|meta_id|post_id|    meta_key      |meta_value
|1822   |1088   |_edd_discount_uses|8
|1823   |1088   |_edd_discount_code|ls100

您可以将IN与子查询一起使用以获得所需内容:

SELECT meta_value
FROM ih_postmeta
WHERE post_id IN (SELECT post_id
                  FROM ih_postmeta
                  WHERE meta_key = '_edd_discount_uses'
                  AND meta_value > '0') 
    AND meta_key = '_edd_discount_code'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM