Mysql SQL:如何在何处使用自引用进行过滤

Mysql SQL:如何在何处使用自引用进行过滤,mysql,sql,Mysql,Sql,这是我的SQL代码 SELECT wpp.ID, wpp.post_title, wpp.guid, (SELECT guid FROM wp_posts WHERE post_parent = (SELECT ID FROM wp_posts WHERE post_title ="Writer Thumbnail Image "+wpp.ID )) AS imgID FROM `wp_posts`

这是我的SQL代码

SELECT 
    wpp.ID, wpp.post_title, wpp.guid,
    (SELECT guid FROM wp_posts  
     WHERE post_parent = (SELECT ID FROM wp_posts 
                          WHERE post_title ="Writer Thumbnail Image "+wpp.ID )) AS imgID 
FROM 
    `wp_posts` AS wpp  
WHERE 
    wpp.post_status = "publish" 
    AND wpp.post_type = "post"  
ORDER BY 
    wpp.ID DESC 
LIMIT 4
我想要where like(where post_title=“Writer Thumbnail Image 251”),但这个数字来自wpp.ID


我该怎么做呢?

看来您正在使用
MySQL
。在这种情况下,您可以使用:

 SELECT wpp.ID,wpp.post_title,wpp.guid,parent.guid as imgID
 from wp_posts as wpp inner join wp_posts as parent
 on wpp.post_parent =parent.ID
WHERE wpp.post_status = "publish" 
AND wpp.post_type = "post" 
and  wpp.post_title = CONCAT("Writer Thumbnail Image ",parent.ID)
ORDER BY wpp.ID DESC LIMIT 4
我不确定您是否想要:

 and  wpp.post_title = CONCAT("Writer Thumbnail Image ",parent.ID)

选择适合你的问题的

SELECT wpp.ID,wpp.post_title,wpp.guid,
(SELECT guid FROM wp_posts  WHERE post_parent = (SELECT ID FROM wp_posts WHERE post_title =CONCAT("Writer Thumbnail Image ",wpp.ID) )) AS imgID 
FROM `wp_posts` AS wpp  WHERE wpp.post_status = "publish" AND wpp.post_type = "post"  ORDER BY wpp.ID DESC LIMIT 4
这是最后的代码。这是工作

改变

WHERE post_title ="Writer Thumbnail Image "+wpp.ID


哪个数据库
+
适用于某些应用程序,其他应用程序需要
|
或函数
CONCAT
。。。SQL方言差别很大,除了泛型之外,还始终使用您使用的确切方言进行标记。@Amadan字符串串联在标准SQL中使用| |。所以使用| |,它应该会起作用。@frlan:
是的,效果很好<代码>“SQL标准”。。。(
SELECT'A'| |'B'
0
,而不是
'AB'
SELECT CONCAT('A','B')
)Hmmm.没有意识到这一点。很抱歉也许我们应该开始考虑MySQL不再调用SQL了…谢谢。我试着将(post_title=“Writer Thumbnail Image”+wpp.ID)更改为(post_title=CONCAT(“Writer Thumbnail Image”,wpp.ID)),这是有效的。谢谢你的前任。
SELECT wpp.ID,wpp.post_title,wpp.guid,
(SELECT guid FROM wp_posts  WHERE post_parent = (SELECT ID FROM wp_posts WHERE post_title =CONCAT("Writer Thumbnail Image ",wpp.ID) )) AS imgID 
FROM `wp_posts` AS wpp  WHERE wpp.post_status = "publish" AND wpp.post_type = "post"  ORDER BY wpp.ID DESC LIMIT 4
WHERE post_title ="Writer Thumbnail Image "+wpp.ID
WHERE post_title =CONCAT("Writer Thumbnail Image ",wpp.ID)