Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL-帮助仅加入一行_Mysql - Fatal编程技术网

MYSQL-帮助仅加入一行

MYSQL-帮助仅加入一行,mysql,Mysql,我当前返回的行不止一行,因此我尝试使用此连接来连接最近的项目 LEFT OUTER JOIN wp_posts wp_posts1 ON (wp_posts.ID = (SELECT MAX(post_parent) FROM wp_posts1 WHERE wp_posts1.post_parent = wp_posts.ID) ) 但我得到的错误是“SQL错误:表”web13-a-tablename.wp_posts1“不存在” 下面是返回太多结果的原始代码 SELECT wp_pos

我当前返回的行不止一行,因此我尝试使用此连接来连接最近的项目

LEFT OUTER JOIN wp_posts wp_posts1 ON (wp_posts.ID = (SELECT MAX(post_parent) FROM wp_posts1 WHERE wp_posts1.post_parent = wp_posts.ID) ) 
但我得到的错误是“SQL错误:表”web13-a-tablename.wp_posts1“不存在”

下面是返回太多结果的原始代码

SELECT 
wp_posts.ID, 
wp_posts.post_title, 
wp_posts1.guid AS f_image,
wp_posts1.id AS f_ID 
FROM wp_posts 
LEFT OUTER JOIN wp_posts wp_posts1 ON (wp_posts.ID = wp_posts1.post_parent) AND wp_posts1.post_type = 'attachment'  
WHERE wp_posts.post_type = 'custom' 
AND wp_posts.post_status = 'publish' 
AND (wp_posts.post_title LIKE '%smith%' OR wp_posts.post_title LIKE '%jones%')
ORDER BY 
f_ID DESC
SQLFiddle显示选定的多行。我只想得到一行,我想选择最大的f_ID

所需结果:

ID       POST_TITLE       F_IMAGE       F_ID
--------------------------------------------
2365     John Jones       IMG_URL       2490
2385     Becky Smith      IMG_URL       2390

将子查询更改为:

SELECT MAX(post_parent) FROM wp_posts as w3 WHERE w3.post_parent = wp_posts.ID
更新将中的查询更改为:


我的感觉是,这个问题有比表面上看的更多的东西。考虑提供一个SqLoFDLE,包括期望的结果集。根据您的建议添加了一个SQLFiddle。为了清晰起见,请提供所需的结果。谢谢,谢谢,但那对我不起作用。我现在在问题中添加了一个SQLFIDLE。我真的很抱歉,但我应该在FIDLE中包含更多数据。你发布的内容有效,但我正在提取多个记录,所以订单和限制1不起作用。我又更新了小提琴@PaulBenbow在您的小提琴中,下单后您没有限制1,因此这就是返回多行的原因我希望返回多行,但不要为同一用户重复行。限制1只会给我1。对不起,我是SQLFiddle新手,我们似乎在看两个稍微不同的查询,而我最初的问题不够详细。请查看更新的问题和SQLFIDLE,我在那里尝试了GROUP BY,但它没有返回最大F_ID。我认为它需要类似于在wp_posts.ID=从wp_posts1中选择MAXwp_posts1.post_parent,其中wp_posts1.post_parent=wp_posts.ID的左侧外部连接wp_posts 1,但我无法让它工作。
SELECT 
  wp_posts.ID, 
  wp_posts.post_title, 
  wp_posts1.guid AS f_image,
  MAX(wp_posts1.id) AS f_ID 
FROM wp_posts 
LEFT OUTER JOIN wp_posts wp_posts1 ON (wp_posts.ID = wp_posts1.post_parent) AND wp_posts1.post_type = 'attachment'  
WHERE wp_posts.post_type = 'custom' 
  AND wp_posts.post_status = 'publish' 
  AND (wp_posts.post_title LIKE '%smith%')
GROUP BY
  wp_posts.ID