尝试合并两个表时出现 MySql 错误

标签 mysql sql database sql-like android-room

您好,当我尝试合并两个表(Post 和 User)时,我收到以下错误

error: extraneous input 'post' expecting {, ';', K_ALTER, K_ANALYZE, > > K_ATTACH, K_BEGIN, K_COMMIT, K_CREATE, K_DELETE, K_DETACH, K_DROP, K_END, K_EXPLAIN, K_INSERT, K_PRAGMA, K_REINDEX, K_RELEASE, K_REPLACE, K_ROLLBACK, K_SAVEPOINT, K_SELECT, K_UPDATE, K_VACUUM, K_VALUES, K_WITH, UNEXPECTED_CHAR}

我有一个表,其中包含许多帖子,其中包含标题、正文以及创建该帖子的用户,

用户表是用户详细信息的列表,例如姓名和地址。

我正在尝试创建一个结果集,输出帖子详细信息,例如标题和正文,以及附加的用户用户名(帖子表只有用户 ID 引用)

这是我尝试过的查询

SELECT post.title AS title, post.body AS body, post.username AS username FROM post, user, WHERE user.id = post.userId

我的sql技能有点生疏,但我相信上面的用例查询可以完成?

最佳答案

听起来您想要一个表连接。我假设当你写 post.username 时你指的是 user.username,因为你后来说 post 表只有一个 userId 引用。

这样的东西可能就是你想要的:

SELECT post.title, post.body, user.username
FROM post
INNER JOIN user
ON post.userId=user.id;

关于尝试合并两个表时出现 MySql 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54138864/

相关文章:

sql - 数据库表中的可搜索日期字段是否应该始终被索引?

php - 没有自动递增的 ID 列时,如何获取上一条和下一条记录?

mysql - 选择 2 个日期时间之间的一些行

mysql - 表中的示例通过输入长度超过20个字符的单词(在mysql中)

android - 如何使用 ContentValues 将 android sqlite 数据库列值更新为 null?

php - 如何检索mysql数据库信息

mysql - 连接2个表,需要根据最高价格显示所有字段,并且不同字段没有重复项

mysql - 在 SQL 中创建一个存储函数来检查年份是否是闰年

mysql - SQL 查询以确定哪些用户在线

sql - 如何避免有太多相似的列?