子+父参考SQL

2024-01-03

我正在尝试编写一个查询来显示项目的名称和父项目的名称,但到目前为止还没有提供正确的方法。

CREATE TABLE project
(p_id NUMBER(6),
project_name VARCHAR2(30),
client_id NUMBER(6),
mgr_id NUMBER(6),
parent_p_id NUMBER(6),
CONSTRAINT project_pid_pk PRIMARY KEY (p_id),
CONSTRAINT project_client_id_fk FOREIGN KEY (client_id) REFERENCES client(client_id),
CONSTRAINT project_mgr_id_fk FOREIGN KEY (mgr_id) REFERENCES consultant(c_id));

ALTER TABLE project
ADD CONSTRAINT project_parent_pid_fk FOREIGN KEY (parent_p_id) REFERENCES project(p_id);

通过使用:

SELECT project.p_id, project.project_name, project.parent_p_id
FROM project
WHERE project.parent_p_id IS NOT NULL;

我可以获得大部分信息,但我不知道如何将project.parent_p_id链接到project.project_name

有谁愿意帮帮我吗?!

提前致谢 :-)


您需要一个自连接,将 PROJECT 表连接到自身,如下所示

SELECT p.p_id, 
       p.project_name, 
       p.parent_p_id, 
       pp.project_name as parent_project
FROM project p
     inner join project pp
     on p.parent_p_id = pp.p_id;

如果您想要包含没有父项目的项目,那么连接将是 LEFT OUTER JOIN。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

子+父参考SQL 的相关文章

  • 给定“java.sql.SQLIntegrityConstraintViolationException”是否可以确定错误的列

    鉴于我有一个类型为 java sql SQLIntegrityConstraintViolationException 的异常 是否可以以编程方式确定错误的列 或多列 我问这个问题是因为我想将错误映射回客户端的数据模型以指示错误的字段 例如
  • 有没有办法阻止 SQL Express 2008 空闲?

    我使用 SQL Express 2008 作为 Web 应用程序的后端 问题是 Web 应用程序是在工作时间使用的 因此有时在午餐或休息时间 如果 20 分钟内没有用户登录 SQL Express 将进入空闲状态模式并释放其缓存 我知道这一
  • SQL 中基于下一条记录和上一条记录的复杂排序

    这是一个后续问题根据 SQL 中的下一条记录和上一条记录进行排序 https stackoverflow com questions 30477803 sorting based on next and previous records i
  • PostgreSQL 中“-”处或附近的语法错误

    我正在尝试运行查询来更新用户密码 alter user dell sys with password Pass 133 但因为 它给了我这样的错误 ERROR syntax error at or near LINE 1 alter use
  • SQL 查询用于计算每个客户的订单数量和总金额

    我有两张桌子Order与列 OrderID OrderDate CID EmployeeID And OrderItem与列 OrderID ItemID Quantity SalePrice 我需要返回客户 ID CID 每个客户的订单数
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • MySQL中如何声明变量?

    如何在mysql中声明一个变量 以便我的第二个查询可以使用它 我想写一些类似的东西 SET start 1 SET finish 10 SELECT FROM places WHERE place BETWEEN start AND fin
  • 实现软删除的最佳方法是什么?

    目前在做一个项目 我们要对大部分用户 用户角色 实现软删除 我们决定添加一个is deleted 0 数据库中每个表的字段并将其设置为 1 如果特定用户角色点击特定记录上的删除按钮 现在为了将来的维护 每个SELECT查询需要确保它们不包含
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 如何在java 1.8中从org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8转换为oracle.jdbc.OracleConnection

    如何在 java 1 8 中从 org jboss jca adapters jdbc jdk8 WrappedConnectionJDK8 转换为 oracle jdbc OracleConnection 目前我正在这样使用并得到以下异常
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam
  • 从函数内的 SELECT 返回一个变量

    我正在尝试创建一个返回 varchar 的函数 其中一个字段形成一个选择 即聚合字段 我收到下一个错误 ORA 01422 exact fetch returns more than requested number of rows 我的理
  • 如何在 DB2 中创建返回序列值的函数?

    如何在 DB2 中创建一个从序列中获取值并返回该值的函数 应该可以在 select 或 insert 语句中使用该函数 例如 select my func from xxx insert into xxx values my func 基本
  • SQL 连接两个没有关系的表

    我有具有相同结构的不同表 我想通过其中一列将它们连接起来 问题是他们不共享该专栏中的信息 Table 1 Type A Name Value Table 2 Type B Name Value 结果表 在单列中 nameFromA name
  • 从 Getdate() 获取时间

    我想采取Getdate 结果 例如 2011 10 05 11 26 55 000 into 11 26 55 AM 我看过其他地方并发现 Select RIGHT CONVERT VARCHAR GETDATE 100 7 这给了我 11
  • Windows 上良好的 Oracle 数据库开发和管理工具 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找像 sql server management studio 这样的 Oracle 数据库管理工具 我在互联网上搜索并在以下链接
  • 通知设置的数据库设计

    用户可以打开或关闭 他的通知设置 帐户 用于通知 例如 更改帐户资料信息 收到新消息等 通知可以通过电子邮件或手机 推送或短信 发送 用户可以只有 1 封电子邮件和多个手机设备 有什么方法可以改进以下数据库设计或者您会采取不同的方式吗 让我
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作

随机推荐

  • 如何在不刷新整个页面的情况下让 Grunt/Watch/LiveReload 重新加载 Sass/CSS?

    到目前为止 我已经让一切按照我想要的方式工作 即监视我想要的所有文件并在发生更改时刷新 除了我希望能够对 Sass CSS 进行修改并刷新它在没有页面加载的浏览器中 这不是什么大问题 但有时我会在进行一些页面交互后尝试修改某些内容的样式 并
  • 使用“data.table”根据变量获取子组的第一个

    考虑一个由分组变量组成的数据集 这里id 和一个有序变量 这里date df lt data frame id rep 1 2 2 date 4 1 id date 1 1 4 2 2 3 3 1 2 4 2 1 我想知道最简单的方法是什么
  • iPhone Web App - 在 iOS8 中停止身体弹跳/滚动

    是的 我知道 这个问题之前已经被问过一千次了 感谢你们所有人 我终于找到了一个解决方案 最终在 更新到 iOS 8 后 似乎没有任何效果 iOS7 中最适合我的是什么 Css html body scrollable overflow au
  • mysql中选择部分表列数据

    我有一个包含 2000 个条目的 照片 表 该表有一列名为photo note其中包含以下格式但具有不同放大值的数据 Magnification 30x The resolution varies depending on 我需要选择以 分
  • CTE(通用表表达式)与临时表或表变量,哪个更快?

    CTE 通用表表达式 与Temp tables or Table variables 哪个更快 正如我在评论中已经说过的 这取决于 它确实取决于您的查询 您的数据 有多少 它是什么类型 等等 不过 需要记住一些要点 CTE 是仅对下一条语句
  • 编译 jitsi 项目时,转换为 Dalvik 格式失败,出现错误 1

    我正在尝试编译并运行该项目https github com jitsi jitsi android https github com jitsi jitsi android在 Eclipse 上通过导入 我已成功导入项目 添加了外部 Jar
  • Shopify 结账中的脚本标签

    我正在考虑为 Shopify 开发一款应用程序 该应用程序将为商店的结帐页面添加功能 如果用户不必将代码复制并粘贴到文件中 那将是理想的选择 因此我正在考虑使用 ScriptTag API http api shopify com scri
  • 为什么内部调用内的 lapply 与内部调用内的变量赋值不同?

    考虑 notBroken lt within mtcars gear lt as factor gear cyl lt as factor cyl str notBroken 我们的输出 gt str notBroken data fram
  • 将 SQL 中的 CASE 表达式转换为 SSIS 中的派生列 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions CASE WHEN CHARINDE
  • 禁用 Cypress 自动滚动

    我正在测试我的应用程序 我有很长的侧边菜单 并且我有这样的代码 cy get tab click force true 自动滚动发生在获取和单击之间 然后选定的选项卡不可见 因为顶部菜单的位置已固定 我找到了很多解决方案 但没有一个有效 到
  • 如何在 Swift iOS 应用程序中添加 Google Drive API?

    我有一个用 Swift 编写的应用程序 它已经使用了 SwiftyDropbox API 我用 cocoapods 安装了 SwiftyDropbox use frameworks 关键词 现在 当我添加这个 pod 时 Google AP
  • 在 WooCommerce 3+ 中向订单添加自定义字段

    在 WooCommerce 中 我想添加一个新的自定义字段来订单详细信息 现在我可以使用下面的代码创建一个新的自定义字段 referenceNumber 并在其中添加 ordercreated 值 update post meta orde
  • SpriteKit场景切换时的内存问题

    Ok so awhile back in testing I had a random crash with no error and I have no clue why So i went into analyze things and
  • npm 如何/为什么建议不要以 root 身份运行?

    简而言之 首先 为什么npm http npmjs org 建议它只能以非 root 身份运行 我非常不相信其他所有包管理器 apt yum gem pacman 要求 sudo 是错误的 其次 当我遵循他们的建议 并运行npm insta
  • :this 在 Ruby on Rails 中意味着什么?

    我是 Ruby 和 Ruby on Rails 世界的新手 我已经阅读了一些指南 但我在使用以下语法时遇到了一些问题 我认为使用 conditionRuby 中使用语法来定义具有某种访问器的类属性 例如 class Sample attr
  • 将 Flutter 小部件定位到屏幕外

    正如标题所提到的 我试图将我的小部件放置在屏幕之外 目前我已经设法将小部件图像偏移到屏幕之外 但这不是我期望的结果 屏幕外的图像在状态栏上仍然可见 这就是它的样子 这就是我期望的样子 用 adobe XD 设计 Widget build B
  • Rails 3 的 A/B 框架?

    有没有像 ABingo 或 Vanity 这样的东西可以在 Rails 3 中运行 我知道有 Google 网站优化器和可视化网站优化器 但我需要更多的功能来确定显示的内容以及跟踪的内容 而这些功能超出了它们的能力 如果没有 我什至会考虑相
  • 为什么简单的 Dockerfile 给出“权限被拒绝”?

    我正在学习将 Docker 与 ROS 结合使用 我对以下错误消息感到惊讶 FROM ros kinetic robot xenial create non root user ENV USERNAME ros RUN adduser in
  • 如何在 Entity Framework Core 中调用带有多个表联接的存储过程?

    我必须调用一个从多个表中选择记录的存储过程 我已尝试以下代码 但它为实体类以外的其他表中的列返回 null private async Task
  • 子+父参考SQL

    我正在尝试编写一个查询来显示项目的名称和父项目的名称 但到目前为止还没有提供正确的方法 CREATE TABLE project p id NUMBER 6 project name VARCHAR2 30 client id NUMBER