1

我正在尝试找到一种构建 SQL 查询的方法。我需要的数据在两个表中,包含 3 条记录,但我需要以某种方式返回它,以便以后可以将其作为 1 条记录插入到表中。该查询将在 PHP 中使用,因此我也愿意使用它。这是我所拥有的:

SELECT ID, meta_key, meta_value
FROM wp_posts
INNER JOIN wp_postmeta
    ON wp_posts.ID = wp_postmeta.post_id
WHERE post_status = 'publish'
AND post_date >= CURDATE()
AND post_type IN ('tribe_events', 'tribe_organizer', 'tribe_venue')
AND meta_key IN ('_EventStartDate', '_EventEndDate', '_OrganizerOrganizer', '_OrganizerWebsite', '_VenueAddress', '_VenueCity', '_VenueState', '_VenueZip')
4

1 回答 1

0

尝试使用单个匹配进行自联接,即,而不是使用

 WHERE post_type IN (val1, val2, val3)

请执行下列操作

 INNER JOIN
       ... ON table2.post_type = val2
 INNER JOIN
       ... ON table3.post_type = val3
 etc.
 WHERE table1.post_type = val1

或任何工作。你明白了。我不知道你的架构,也不能给你一个更具体的例子。

于 2012-11-15T04:04:56.893 回答