Mysql 使用左联接时,sql联接不起作用
我有两张桌子: 帖子Mysql 使用左联接时,sql联接不起作用,mysql,sql,join,Mysql,Sql,Join,我有两张桌子: 帖子 身份证 头衔 内容 附件 身份证 邮政编码 文件名 我想搜索文件名包含“.txt”附件的帖子。 我使用了我知道的所有类型的联接,但仍然无法使其工作 SELECT posts.*, filename FROM posts LEFT JOIN attachments ON posts.id = attachments.post_id WHERE filename LIKE '%.txt%' 上面的SQL不返回任何行。使用RIGHT JOIN时,它返回行,但只有file
- 身份证
- 头衔
- 内容
- 身份证
- 邮政编码
- 文件名
SELECT posts.*, filename FROM posts LEFT JOIN attachments ON posts.id = attachments.post_id WHERE filename LIKE '%.txt%'
上面的SQL不返回任何行。使用RIGHT JOIN时,它返回行,但只有filename列有值,来自posts
表的列都包含NULL
有什么帮助吗
更新
很抱歉,这一定是MySQL的问题。我重新启动了MySQL服务器,现在查询可以正常工作了。很抱歉,谢谢您的帮助。使用
内部连接
SELECT
posts.*,
filename
FROM posts
INNER JOIN attachments
ON posts.id = attachments.post_id
WHERE attachments.filename LIKE '%.txt%'
两者都将显示…似乎他错过了
附件上的附件。文件名不需要“附件”。SQL肯定会找出文件名属于附件表。我认为他的数据有问题……在这里的旁注中,我鼓励您在使用连接时使用别名,因为这样更容易调试。如果您正在查找txt文件,“%.txt”也可以。