【问题标题】:how to get data from multiple tables in a single stored procedure?如何在单个存储过程中从多个表中获取数据?
【发布时间】:2013-05-27 10:39:58
【问题描述】:

我有三个表 table1、table2 和 table3。以下是我的存储过程。执行存储过程后,我得到了以下输出。

alter PROCEDURE test

    @SDate datetime,
    @EDate datetime

As

    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    Select count(quoteid) as TotalQuote, sum(totalamount) as QuoteAmount from dbo.QuoteBase
    where CreatedOn BETWEEN @SDate AND @EDate

    select  count(salesorderid)as TotalOrders, sum(totalamount) as OrderAmount from dbo.SalesOrderBase Where
    CreatedOn BETWEEN @SDate AND @EDate

    select count(opportunityid)as TotalSales  from dbo.OpportunityBase Where
    CreatedOn BETWEEN @SDate AND @EDate


GO

输出

但我不想单独显示查询结果。

我怎样才能完成这项工作,以便查询结果在一行中?

【问题讨论】:

标签: c# asp.net mysql visual-studio-2010


【解决方案1】:
SELECT * FROM (Select count(quoteid) as TotalQuote, sum(totalamount) as QuoteAmount from     dbo.QuoteBase where CreatedOn BETWEEN @SDate AND @EDate)
CROSS JOIN (select  count(salesorderid)as TotalOrders, sum(totalamount) as OrderAmount from dbo.SalesOrderBase Where CreatedOn BETWEEN @SDate AND @EDate)
CROSS JOIN (select count(opportunityid)as TotalSales  from dbo.OpportunityBase Where
CreatedOn BETWEEN @SDate AND @EDate)

或者更简单,

做一个:

SELECT * FROM table1, table2, table3

table1、2 和 3 是您的选择。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 1970-01-01
    • 2012-07-21
    相关资源
    最近更新 更多