1

これは、説明するのが少し難しいでしょう。WordPress でクエリを作成する必要がある非常に珍しいケースがあります。

と呼ばれる投稿タイプとartists、 と呼ばれる別の投稿タイプがありperformancesます。アーティストには、キーを持つメタ値がありますartist_id。パフォーマンスには、アーティストを参照する同じメタ キーがあります。ID のこの代替サブシステムがばかげていることは理解していますが、それは他の多くの理由によるものであり、それらが賢明であることを信頼する必要があります。

show_set_timeパフォーマンスには、UNIX タイムスタンプを含む別のメタ キーがあります。

特定の日付以降にパフォーマンスを行ったすべてのアーティストを取得できるクエリを作成する必要があります。

それが不明な場合はお知らせください。繰り返しになりますが、ID キーがばかげていることは完全に認識していますが、他の要因が関係しています。

4

1 に答える 1

2

これは明らかにテストされていませんが、機能するはずです。

SELECT *

FROM (SELECT NULL) AS dummy

INNER JOIN
wp_posts AS artist
ON artist.post_type = `artist`

INNER JOIN
wp_postmeta AS meta_artist_id
 ON meta_artist_id.post_id = artist.ID
AND meta_artist_id.meta_key = 'artist_id'


INNER JOIN
wp_posts AS performance
ON artist.post_type = `performance`

INNER JOIN
wp_postmeta AS meta_performance_artist_id
 ON meta_performance_artist_id.post_id = performance.ID
AND meta_performance_artist_id.meta_key = 'artist_id'
AND meta_performance_artist_id.meta_value = meta_artist_id.meta_value

INNER JOIN
wp_postmeta AS meta_performance_date
 ON meta_performance_date.post_id = performance.ID
AND meta_performance_date.meta_key = 'show_set_time'

WHERE
meta_performance_date.meta_value > DATE('2012-12-21')
于 2012-06-29T20:58:06.147 に答える