【问题标题】:mysql sub query with inner join?带有内部连接的mysql子查询?
【发布时间】:2017-07-02 05:57:22
【问题描述】:

我正在尝试从表 messages 中选择最后 10 行。我也在使用inner join 从表users 中选择姓名和姓氏。

问题是我需要这些行按升序排列,所以我尝试使用子查询作为this 发布接受的答案。

SELECT * FROM (
  SELECT me.id, me.message, us.name1, us.lname1, SUBSTRING(us.lname2,1,1)
  FROM messages me INNER JOIN users us on me.rut=us.rut
  ORDER BY me.id DESC LIMIT 10
) tmp ORDER BY tmp.me.id ASC;

但它不起作用,我实际上不知道使用内部连接执行此操作的正确方法是什么。

无论如何,我怎样才能让它工作?

注意:内部双亲查询有效,只是外部双亲查询不起作用。

【问题讨论】:

  • 可能你需要ORDER BY tmp.id ASC;而不是ORDER BY tmp.me.id ASC;

标签: mysql sql join


【解决方案1】:

在外部查询中,您只会看到tmp.id 而不是tmp.me.id。所以你的 oder 子句应该是

ORDER BY id

(因为tmp.id 是唯一一个你可以离开tmp.ORDER BY 隐式使用ASC。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 2015-03-20
    • 2016-06-11
    • 1970-01-01
    相关资源
    最近更新 更多