如何使用MySQL排除INNER JOIN上的列

时间:2018-02-27 20:43:22

标签: mysql

我在下面使用此语句作为MySQL的数据库查询。只要从postsusers表中检索数据,查询就可以正常工作,但是当我记录查询时,它还会记录password表中的users列。我想从postsusers表中选择从特定查询生成的特定列。我不确定如何在MySQL中处理两个表的INNER JOINING

我想知道是否有人可以告诉我如何正确格式化,以便从我的搜索结果中排除password列。

'SELECT * FROM posts INNER JOIN users ON posts.author = users.id WHERE posts.id = ?'

我正在使用NodeJS和MySQL,所以当我在console.log时得到这个结果

[ RowDataPacket {
    id: 62,
    title: 'This is the title',
    body: 'This is the body ',
    author: '62',
    createdOn: 2018-02-23T02:20:24.000Z,
    name: 'Andrew',
    email: 'andrew.lee@gmail.com',
    username: 'thexp',
    password: '$2a$10$lfUj.JkuotihrXeYRVPoTuWWdWfGHnGdTSEzv8fhaSrPa3m98Vg.G'  <---- I would like this to not show } ]

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

感谢其他用户的帮助,我了解到,通过INNER JOINING表,MySQL会将其视为一个表。

所以我只需要在SELECT查询的开头指定我想要包含在两个表中的所有列。

SELECT title, body, author, createdOn, name, email, username FROM posts INNER JOIN users ON posts.author = users.id WHERE posts.id = req.params.id