曌龙 2023-12-15 10:05 采纳率: 0%
浏览 6

SQL server 多层子表查询语句该怎么写

多层子表关联关系的数据查询怎么写。业务一和业务二的关联关系是业务ID相同。合同一和合同二的关系是业务code相同。合同下的明细是合同号相同。要求是查询出来的合同下的明细要求并列。

img

  • 写回答

1条回答 默认 最新

  • 之乎者也· 2023-12-15 21:44
    关注

    在 SQL Server 中,您可以使用 JOIN 语句来查询多层子表关联关系的数据。以下是一个示例查询,基于您提供的关联关系:

    SELECT  
        业务一.业务ID,  
        业务一.业务名称,  
        合同一.合同号,  
        合同一.业务Code,  
        明细.明细ID,  
        明细.明细内容  
    FROM 业务一  
    JOIN 业务二 ON 业务一.业务ID = 业务二.业务ID  
    JOIN 合同一 ON 业务二.业务Code = 合同一.业务Code  
    JOIN 合同二 ON 合同一.合同号 = 合同二.合同号  
    JOIN 明细 ON 合同二.合同号 = 明细.合同号  
    WHERE  
        业务一.业务ID = '指定的业务ID' -- 替换为实际的业务ID或移除WHERE子句以查询所有业务  
    ORDER BY  
        业务一.业务ID,  
        合同一.合同号,  
        明细.明细ID;
    
    

    上述查询假设了以下表和字段:

    业务一表:包含字段 业务ID、业务名称
    业务二表:包含字段 业务ID、业务Code
    合同一表:包含字段 合同号、业务Code
    合同二表:包含字段 合同号
    明细表:包含字段 合同号、明细ID、明细内容
    请注意,您需要根据实际的表名和字段名进行相应的调整。此外,您还需要根据实际情况替换 '指定的业务ID' 为实际的业务ID,或者移除 WHERE 子句以查询所有业务。

    这个查询使用了 JOIN 语句来连接各个表,通过关联关系将它们关联起来。然后使用 WHERE 子句筛选出符合指定业务ID的数据,最后使用 ORDER BY 子句对结果进行排序。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月15日