mysql - 在 SQL 中连接多个查询

标签 mysql sql join

我已经有这个查询:

SELECT * FROM (SELECT * FROM `prefix_messages`
                        WHERE `category_id`=4
                        ORDER BY `id` DESC LIMIT 30) ilv
         ORDER BY `id` ASC

如果在 prefix_messages 中我有 user_id 列,如何使用联接查询从用户表中添加数据?

谢谢!

最佳答案

试试这个:

SELECT * FROM   (SELECT pm.ID as prefixID, * FROM prefix_messages as pm
    INNER JOIN users as u
    ON pm.User_id = u.UserId
    WHERE pm.category_id=4
    ORDER BY pm.id DESC LIMIT 30)
    ORDER BY prefixID ASC

我假设您只是进行子选择,因为您想在获得前 30 名后反转顺序?

关于mysql - 在 SQL 中连接多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003429/

相关文章:

mysql - 使用 JOIN 访问现有数据库的表

MySQL 拆分字符串函数 SPLIT_STR 不适用于 LEFT JOIN。有什么问题吗?

php - 带有连接的搜索查询在搜索字符串为空时显示所有行

php - 如何修复 * 字节的 Content-Length 超出 * 字节的限制

php - 从数据库加载数据 + ajax + php

java - 在JAVA中使用Solr和MySQL进行查询

MySQL 按拥有和不拥有特性排序

sql - 使用表变量时查询需要 10 分钟,而使用临时表时查询需要 2 秒

mysql - 最好使用两列或 DATETIME

SQL- 将数字 (0) 添加到现有条目 (Varchar) 的特定位置以将所有条目加长 1