M K*_*aid 5 mysql query subquery select
SELECT * FROM wp_posts WHERE ID IN
(
(SELECT courses FROM wp_category WHERE CatID =401) OR
(SELECT meta_value FROM wp_postmeta WHERE post_id IN (SELECT courses FROM wp_category WHERE CatID =401) AND meta_key ='post_id' )
)
AND
ID IN (SELECT post_id FROM wp_locations_courses WHERE location_id = 1120)
Run Code Online (Sandbox Code Playgroud)
我在使用IN子查询时遇到上述查询的问题给了我错误Subquery returns more than 1 row为什么在我使用IN子句时会发生
小智 6
(SELECT courses FROM wp_category WHERE CatID =401)
OR
(SELECT meta_value FROM wp_postmeta WHERE post_id IN (SELECT courses FROM wp_category WHERE CatID =401) AND meta_key ='post_id' )
Run Code Online (Sandbox Code Playgroud)
这是一个条件,但您需要n值。
这应该有效:
(
ID IN
(
(SELECT courses FROM wp_category WHERE CatID =401)
)
OR
ID IN
(
(SELECT meta_value FROM wp_postmeta WHERE post_id IN
(SELECT courses FROM wp_category WHERE CatID =401) AND meta_key ='post_id' )
)
)
Run Code Online (Sandbox Code Playgroud)
还要注意 MySQL 的子查询。在你的情况下是一个子子查询。
看看这里:https : //stackoverflow.com/questions/12356784/mysql-dependent-sub-query-with-not-in-in-the-where-clause-is-very-slow
| 归档时间: |
|
| 查看次数: |
28923 次 |
| 最近记录: |