Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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 使用左联接时,sql联接不起作用_Mysql_Sql_Join - Fatal编程技术网

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

我有两张桌子:

帖子

  • 身份证
  • 头衔
  • 内容
附件

  • 身份证
  • 邮政编码
  • 文件名
我想搜索文件名包含“.txt”附件的帖子。

我使用了我知道的所有类型的联接,但仍然无法使其工作

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”也可以。