mysql不同表对应行想加_mysql – 从同一个表中加入两行

我目前有这个查询设置:

SELECT

topic.content_id,

topic.title,

image.location

FROM

mps_contents AS topic

INNER JOIN mps_contents as image

ON topic.content_id = image.page_id

WHERE

topic.page_id = (SELECT page_id FROM mps_pages WHERE page_short_name = 'foo' )

AND image.display_order = '1'

这是因为我想在一行中合并同一个表中的两行.这是表格的简化设置

-----------------------------------------------------------

| page_id | content_id | title | location | display_order |

-----------------------------------------------------------

| 1 | 200 | Foo | NULL | 200 |

| 200 | 201 | Bar | jpg.jpg | 1 |

-----------------------------------------------------------

基本上我想要这个结果

---------------------------------

| content_id | title | location |

---------------------------------

| 200 | Foo | jpg.jpg |

---------------------------------

因此,Foo是第1页上的第200个主题(Foo被视为子页面,其所有内容都存储在同一个表中)而Bar是其特色图像(仅因为它是第1个图像而被推荐)

上面的查询有效地连接了两行(它返回了我想要的结果),但它也返回了一个对应于Foo原始行的额外行,也就是说,该位置为NULL.

我希望有人可以帮助我阻止查询返回额外的行.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值