SQL Server存储过程:根据条件查询不同结构的表A和表B

本示例展示了如何使用SQL Server存储过程根据输入条件动态查询不同结构的表A和表B。

假设表A和表B结构不同,您可以根据表A的一个字段值(例如'condition'字段)来决定查询哪张表,以及如何查询数据。

存储过程代码:

CREATE PROCEDURE GetDataBasedOnCondition
    @condition CHAR(1)
AS
BEGIN
    IF @condition = '1'
    BEGIN
        -- 查询表A的数据
        SELECT * FROM TableA;
    END
    ELSE IF @condition = '2'
    BEGIN
        -- 查询表A和表B行转列的数据
        SELECT 
            A.Column1, B.Column1 AS Column2, B.Column2 AS Column3
        FROM TableA A
        JOIN TableB B ON A.ID = B.A_ID;
    END
END

使用说明:

  • 该存储过程接收一个名为@condition的参数,类型为CHAR(1)
  • 如果@condition的值为'1',则查询表A的所有数据。
  • 如果@condition的值为'2',则查询表A和表B行转列的数据。

注意事项:

  • 请根据您的实际表结构和字段名称对存储过程代码进行调整。
  • 您可以根据需要添加其他条件判断语句,以支持更多不同的查询场景。

示例调用:

-- 查询表A的数据
EXEC GetDataBasedOnCondition '1';

-- 查询表A和表B行转列的数据
EXEC GetDataBasedOnCondition '2';

原文地址: https://www.cveoy.top/t/topic/p2UW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录