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
子句时会发生
以下查询工作正常
SELECT
*,
(SELECT
GROUP_CONCAT(url SEPARATOR '$$' )
FROM project_photos
WHERE project_id = projects.id
ORDER BY priority) AS images
FROM projects
WHERE catID = 2
LIMIT 0,5
Run Code Online (Sandbox Code Playgroud)
但该images
列并未按优先顺序排列。我无法理解为什么会发生这种情况
CREATE TABLE `projects` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`catID` int(11) NOT NULL,
`title` varchar(255) NOT NULL,
`description` varchar(400) NOT NULL,
`url` varchar(255) DEFAULT NULL,
`tags` varchar(255) DEFAULT NULL,
`featured` varchar(3) NOT NULL DEFAULT 'No',
`featured_url` varchar(255) DEFAULT NULL,
`order` int(11) DEFAULT NULL,
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY …
Run Code Online (Sandbox Code Playgroud)