Mysql 不存在元数据键的查询行
问题是一团糟。我只想查询所有没有特定元键的行。 上面,我查询所有具有meta键的行,然后将它们从外部查询中排除。 我不知道如何写得更好。通过Mysql 不存在元数据键的查询行,mysql,Mysql,问题是一团糟。我只想查询所有没有特定元键的行。 上面,我查询所有具有meta键的行,然后将它们从外部查询中排除。 我不知道如何写得更好。通过左连接使用外部连接,并抓取未连接的行: 或: 您忘记在ON子句中包含postETA.meta_key='z_latitude'条件。请停止滥用其他人的答案,如果需要,您可以添加注释,但不要编辑他们的答案。 SELECT DISTINCT wposts.ID AS ID FROM `wp_posts` AS wposts JOIN `wp_postmeta`
左连接使用外部连接,并抓取未连接的行:
或:
您忘记在ON子句中包含postETA.meta_key='z_latitude'
条件。请停止滥用其他人的答案,如果需要,您可以添加注释,但不要编辑他们的答案。
SELECT DISTINCT wposts.ID AS ID
FROM `wp_posts` AS wposts
JOIN `wp_postmeta` AS postmeta ON (wposts.ID = postmeta.post_id)
WHERE wposts.post_type = 'post'
AND wposts.ID NOT IN (
SELECT wp_posts.ID FROM wp_posts, `wp_postmeta` AS postmeta2
WHERE wp_posts.ID = postmeta2.post_id
AND postmeta2.meta_key = 'z_latitude'
)
ORDER BY wposts.post_date DESC
SELECT DISTINCT wposts.ID AS ID
FROM `doxy_posts` AS wposts
left JOIN `doxy_postmeta` AS postmeta ON wposts.ID = postmeta.post_id
WHERE postmeta.post_id is null
ORDER BY wposts.post_date DESC
SELECT wposts.ID AS ID
FROM doxy_posts AS wposts
LEFT JOIN doxy_postmeta AS postmeta
ON wposts.ID = postmeta.post_id
AND postmeta.meta_key = 'z_latitude'
WHERE wposts.post_type = 'post'
AND postmeta.post_id IS NULL
ORDER BY wposts.post_date DESC
SELECT wposts.ID AS ID
FROM doxy_posts AS wposts
WHERE wposts.post_type = 'post'
AND NOT EXISTS
( SELECT *
FROM doxy_postmeta AS postmeta
WHERE wposts.ID = postmeta.post_id
AND postmeta.meta_key = 'z_latitude'
)
ORDER BY wposts.post_date DESC