sql - 表无法正确连接
问题描述
我正在尝试列出所有 13 岁以上并下载了“社交”类别中的应用程序的用户。用户的出生日期按升序排列。
我无法理解我的连接有什么问题以及我应该如何在 SQL 中将这些表连接在一起。
下面的代码:
SELECT DISTINCT
u."UserId",
CAST(u."Username" AS varchar2(20)) AS "Username",
CAST(u."FirstName" AS varchar2(15)) AS "FirstName",
CAST(u."LastName" AS varchar2(15)) AS "LastName",
CAST(u."Email" AS varchar2(30)) AS "Email",
u."Gender",
u."JoinDate",
TRUNC(u."DateOfBirth") AS "DateOfBirth",
u."CountryId"
FROM BR_USER u JOIN BR_APPUSER ap ON u."UserId" = ap."UserId", BR_APPUSER ap JOIN BR_APPCATEGORY ac ON ap."AppId" = ac."AppId"
WHERE months_between(TRUNC(sysdate), u."DateOfBirth") / 12 > 13 AND ac."CategoryName" = 'Social'
ORDER BY "DateOfBirth" ASC;
我的加入:
FROM
BR_USER u JOIN BR_APPUSER ap ON u."UserId" = ap."UserId",
BR_APPUSER ap JOIN BR_APPCATEGORY ac ON ap."AppId" = ac."AppId"
解决方案
根据您发布的实体关系(ER)图,您需要连接四个表,即User
、AppUser
和。App
AppCategory
select U.username
from
User U
inner join
AppUser AU
on
U.userid = AU.userid
inner join
APP A
on
AU.appid = A.appid
inner join
AppCategory AC
on
AC.appCategoryId = A.appCategoryId
where
AC.categoryName = 'Social'
推荐阅读
- amazon-web-services - 重新生成证书时 SSH 命令失败
- java - 在 Java 中切换和循环
- c# - 如何为 ASP.NET 生成的模型中的所有对象添加相同的方法以实现相同的目的?
- javascript - 单击按钮时如何仅添加音频类?
- php - SSL 导致 Wordpress 网站上的 3 次重定向
- android - 用字符串在正文上改造帖子请求
- php - php 脚本的输出如何成为包含脚本的 URL 的资源
- java - 指向外部文档的 Javadoc 链接不起作用
- python - 在 Python 中读取以 .rds 格式从 R 导出的“sf”空间数据集
- python - 使用 PySide2.QtSql.QSqlRelationalTableModel()