2015-03-13 23 views
-2

我試圖挑從存儲過程造成的,它的工作原理差不多但問題是,它不挑BUSNO,它存在於Transport.Buses表是外國在dbo.Tickets作爲Bus_No爲什麼加入不工作?

ALTER PROCEDURE [dbo].[ReportConductorBusWiseTransactions] 
@FromDate date, 
@ToDate date 
AS 
    BEGIN 
     with myquery ([DateTime],ConductorName,BusNo,amount,Quantity) 
     as 
     (
      select Convert(varchar(20),serverdatetime,101) 'DateTime',b.BusNo,c.Name,T.amount,1 'Quantity' 
       from tickets T join transport.Conductors c on c.Conductorid = T.Conductor_ID 
       join transport.buses b on b.BusID= T.Bus_ID 
      WHERE CONVERT(DATE,T.ServerDateTime) BETWEEN @FromDate and @ToDate 
     ) 
     select *, 10 * c.[10Quantity] '10Amount',20 * c.[20Quantity] '20Amount',30 * c.[30Quantity] '30Amount',((10 * c.[10Quantity])+(20 * c.[20Quantity])+(30 * c.[30Quantity]))'GrandTotal' from (
     SELECT DateTime,ConductorName,BusNo,[10] AS '10Quantity', [20] AS '20Quantity', [30] AS '30Quantity' 
     FROM 
     (SELECT [DateTime], ConductorName,BusNo, amount,quantity 
     FROM myquery) p 
     PIVOT 
     (
     COUNT ([Quantity]) 
     FOR [Amount] IN 
     ([10], [20], [30]) 
     ) AS pvt 
     ) as c 
    END 

我不能調整我的巴士沒有, 注意:每個公共汽車都與導體相關聯,並且都存在於Tickets表中,我試圖在每個他已經關聯的公共汽車中指揮每個公共汽車顯示總交易,即票據發行等,但問題是它不選擇BusNo

+1

我錯過了什麼嗎? Transport.Buses表不是在您顯示的SQL中引用的,也不是BusNo?想要添加更多說明? – 2015-03-13 12:29:15

+0

我試過但失敗了,所以我發佈了這個問題, – 2015-03-13 12:30:33

+1

試過了什麼?失敗如何?錯誤?小姐計算?你基本上是要求我們爲你寫程序。 – 2015-03-13 12:32:28

回答

0
ALTER PROCEDURE [dbo].[ReportConductorBusWiseTransactions] '03-10-2015','03-13-2015' 
@FromDate date, 
@ToDate date 
AS 
    BEGIN 
     with myquery ([DateTime],ConductorName,BusNo,amount,Quantity) 
     as 
     (
      select Convert(varchar(20),serverdatetime,101) 'DateTime',c.Name,b.BusNo,T.amount,1 'Quantity' 
       from tickets T join transport.Conductors c on c.Conductorid = T.Conductor_ID 
       join transport.buses b on b.BusID= T.Bus_ID 
      WHERE CONVERT(DATE,T.ServerDateTime) BETWEEN @FromDate and @ToDate 
     ) 
     select *, 10 * c.[10Quantity] '10Amount',20 * c.[20Quantity] '20Amount',30 * c.[30Quantity] '30Amount',((10 * c.[10Quantity])+(20 * c.[20Quantity])+(30 * c.[30Quantity]))'GrandTotal' from (
     SELECT DateTime,ConductorName,BusNo,[10] AS '10Quantity', [20] AS '20Quantity', [30] AS '30Quantity' 
     FROM 
     (SELECT [DateTime], ConductorName,BusNo, amount,quantity 
     FROM myquery) p 
     PIVOT 
     (
     COUNT ([Quantity]) 
     FOR [Amount] IN 
     ([10], [20], [30]) 
     ) AS pvt 
     ) as c 
    END 
+0

這是什麼?你自己解決了這個問題嗎? – 2015-03-13 13:11:19

+0

是的,我做了,它的工作 – 2015-03-13 13:14:28