首页 > 解决方案 > SQL INNER JOIN 显示特定值

问题描述

我需要编写一个必须包含使用 INNER JOIN 的查询,但没有设法正确编写它。

在 PhpMyAdmin 中,我创建了一个包含两个相关用户表的数据库:

表 #1 称为“用户类型”,有两列:

1.typnum(自动递增)

2.typdsc - 具有三种类型的值:Inactive、Guest 和 Webmaster

表 #2 称为“用户”,有五列:

  1. 用户名
  2. 登录
  3. 用户密码
  4. 用户名
  5. usrtyp(我用typnum连接的外键)

我需要显示的是Guests和Webmasters的以下记录:usrlogin、usrpassword、usrrealname及其类型的名称(最后一个使用Inner Join)。换句话说,我需要显示不是“非活动”的记录,而是显示它们的类型以及它们的其余值,除了 usrnum

这是我试图为此编写的查询:

SELECT users.usrlogin,users.usrpassword,users.usrrealname AND user.usrtyp
FROM users 
WHERE usrtyp NOT IN 'Inavctive' AND INNER JOIN userstypes ON users.usrtyp = userstypes.typnum

先感谢您!

标签: sqlmariadb

解决方案


尝试这个:

SELECT u.usrlogin, u.usrpassword, u.usrrealname, ut.typdsc 
FROM users u INNER JOIN userstypes ut
ON u.usrtyp = ut.typnum
WHERE ut.typdsc <> 'Inactive'

推荐阅读