当前位置: 首页 > 面试题库 >

父子表记录-构建SQL查询

洪照
2023-03-14
问题内容

这是我的表格和这些表格的数据

表名: 代码

CID Code
1   abc
2   def
3   xyz

表名: 详细信息

ID  Name    CID
1     a       1
2     b       2

结果表:

ID      Code    Name
1       abc     a
2       abc     Null
3       def     b
4       def     Null
5       xyz     Null
6       xyz     Null

我想从代码表中获取所有记录,而对于每个代码,我必须从详细信息表中获取所有行,如果某些代码具有所需的值,如果没有,则为Null

谢谢


问题答案:

听起来您在寻找笛卡尔积:

SELECT
    c.CID * d.ID AS ID,
    c.Code,
    CASE
        WHEN c.CID = d.CID THEN d.Name
        ELSE NULL
    END AS Name
FROM Code c
CROSS JOIN Details d

尽管对于较大的表,笛卡尔乘积相当慢…所以请确保这是您真正想要的。



 类似资料:
  • 问题内容: 我的数据库表中具有以下格式的数据: 该列将来自该列的数据作为父记录。带有值的表示根项目。我需要编写查询以按以下顺序获取数据: 我需要得到根记录(与记录为0),然后是所有和这根记录,然后获得下根的记录,然后和在这个根记录等等。 问题答案: 我在这里提出的解决方案使用了物化路径的概念。以下是使用样本数据的实例化路径的示例。我希望它可以帮助您理解物化路径的概念: 每个节点都有一个实例化路径,

  • 我在使用zkoss和hibernate时遇到了一个问题 我有两个模型一个是少年信息另一个是学校测量 在学校里,我建立了一种多人的关系 当我进入 SessionFactory SessionFactory=新配置()。configure()。buildSessionFactory(); 会话会话=会话工厂。openSession();一场beginTransaction();列表结果1=会话。cre

  • 问题内容: 假设我有两个表,“父母”和“孩子”。父子关系是一个多对多关系,可通过标准的交叉引用表来实现。 我想查找使用SQL(特别是MS SQL Server的T-SQL; 2005语法可以接受)的给定子集的所有成员所引用的所有Parent记录。 例如,假设我有: List item Parent Alice Parent Bob Child Charlie references Alice, B

  • 问题内容: 如何记录django应用程序执行的所有SQL查询? 我想记录所有内容,包括来自管理站点的SQL。我看到了这个问题和一个常见问题解答,但是我仍然不知道应该把它放在哪里 将所有内容记录到一个文件? 所以我的问题是-我应该怎么做才能拥有一个记录所有SQL语句的文件(例如all-sql.log)? 问题答案: 也许看看https://github.com/django-debug-toolba

  • 在Laravel 4中记录SQL查询已经有几个问题。但是我已经尝试了几乎所有的方法,但仍然没有达到我想要的效果。 这是我的情况 > 在我的php视图文件中,我向服务器发出AJAX请求 接收到AJAX请求并运行RAW参数化的PostgresSQL查询(例如: DB::选择('选择*从my_table其中id=?',数组(1)) 如果我用 我只得到“从我的_表中选择*,其中id=?”作为没有实际填充I

  • 问题内容: 关于在Laravel 4中记录SQL查询,已经有几个问题。但是我已经尝试了几乎所有问题,但仍然无法按照我想要的方式工作。 这是我的情况 在我的php视图文件中,我向服务器发出AJAX请求 接收到AJAX请求并运行RAW参数化的Postgres SQL查询(例如 DB :: select(’select * from my_table where id =?’,array(1)) 如果我