我使用几个 SQL 查询来完成一个表,但我认为也可以只用一个查询来获得它。这是结构:
有表'wp_postmeta';包括 id、post_id、meta_key 和 meta_value 作为列。在该表中, meta_key = x 的行在 meta_value 部分中具有用户 ID 值。我想使用给定的 meta_key 和用户 id 值(位于 meta_value 部分)获取 post_id 值,并使用该 post_id 来获取具有给定 meta_keys 的某些 meta_values。这是一个例子。假设用户 ID 为 9:
SELECT CONCAT((SELECT 'meta_value' FROM 'wp_postmeta' WHERE 'meta_key' = y AND 'post_id' = (SELECT 'post_id' FROM 'wp_postmeta' WHERE 'meta_key' = x AND 'meta_value' = 9)),(SELECT ' meta_value' FROM 'wp_postmeta' WHERE 'meta_key' = z AND 'post_id' = (SELECT 'post_id' FROM 'wp_postmeta' WHERE 'meta_key' = x AND 'meta_value' = 9)),(SELECT 'meta_value' FROM 'wp_postmeta' WHERE 'meta_key' = w AND 'post_id' = (SELECT 'post_id' FROM 'wp_postmeta' WHERE 'meta_key' = x AND 'meta_value' = 9)))
通过该查询,我连接了给定元键的元值,属于与给定用户 ID 相关的帖子。(y,z,w)。问题是对于给定的用户 ID,我可以正确地得到我想要的东西,但我想给出一个用户 ID 的列表并获得它们相应的连接结果。我怎样才能做到这一点?谢谢你的帮助。