sql - SQL INNER JOIN 显示特定值
问题描述
我需要编写一个必须包含使用 INNER JOIN 的查询,但没有设法正确编写它。
在 PhpMyAdmin 中,我创建了一个包含两个相关用户表的数据库:
表 #1 称为“用户类型”,有两列:
1.typnum(自动递增)
2.typdsc - 具有三种类型的值:Inactive、Guest 和 Webmaster
表 #2 称为“用户”,有五列:
- 用户名
- 登录
- 用户密码
- 用户名
- 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
先感谢您!
解决方案
尝试这个:
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'
推荐阅读
- php - 检查类别是否存在于具有 csv 值格式的 MYSQLI 表列中
- php - 计算命名/创建列的与计数/SQL 查询相乘
- java - 如何以 opencv 作为依赖项正确构建我的 javaFX 应用程序?
- ruby-on-rails - React 客户端无法正确分发接收到的 ActionCable 广播
- php - PHP从基本授权获取用户名
- javascript - UniSharp laravel-filemanager 与 TinyMCE 5 的集成
- javascript - 仅在第一个时才考虑动态添加的样式表
- mysql - 如果有值如何选择count()但如果值为0则不选择任何内容
- dart - 无法在颤振底部表中使用范围模型,对话框
- c - 在另一个结构中创建结构数组