• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

帮忙看个SQL问题

php 搞代码 4年前 (2022-01-23) 19次浏览 已收录 0个评论
文章目录[隐藏]
SELECT ornamentation_images.ismark ismark,ornamentation_images.width width,ornamentation_images.height height,users.nickname name,ornamentations.id id,ornamentations.image_name image_name,ornamentations.image_url image_url,ornamentations.add_author add_author,ornamentations.browse_real_cnt browse_real_cnt,ornamentations.comnum comnum,users.head head,users.comnum unreadFROM `ornamentation_images` LEFT JOIN users on ornamentation_images.add_author=users.id LEFT JOIN ornamentations on ornamentation_images.ornamentation_id=ornamentations.id WHERE ( ornamentations.enable = 0 ) AND ( ornamentations.checkstatus = 2 )  ORDER BY ornamentations.id desc LIMIT 0,5

能查出来结果,只是没有查出来users表里的数据,问题出在哪?

回复讨论(解决方案)

表结构在哪呢

可能是left join 的问题
left join是以左表的记录为基础的,ornamentation_images可以看成左表,users可以看成右表,left join是以左表为准的.
换句话说,左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录,右表记录不足的地方均为NULL.

楼主可以查看一下,是否这个原因呢

表结构在哪呢

users表在ornamentation_images上,ornamentations也在ornamentation_images上

可能是left join 的问题
left join是以左表的记录为基础的,ornamentation_images可以看成左表,u@本文来源gaodaimacom搞#代%码@网-搞代gaodaima码sers可以看成右表,left join是以左表为准的.
换句话说,左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录,右表记录不足的地方均为NULL.

楼主可以查看一下,是否这个原因呢

不是,换了right和inner都不行

可能是left join 的问题
left join是以左表的记录为基础的,ornamentation_images可以看成左表,users可以看成右表,left join是以左表为准的.
换句话说,左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录,右表记录不足的地方均为NULL.

楼主可以查看一下,是否这个原因呢

找到问题了,是where的问题,把where条件去掉就有了。但是必须要带where呀,该怎么写呢?

那应该是表中没有符合这个where条件的记录

那应该是表中没有符合这个where条件的记录

恩,的确是数据库问题,sql没问题,结贴

一个可能是你关联user表错误另一个就是在你当前where条件下user表里面没有数据满足


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:帮忙看个SQL问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址