多行,這是原來的查詢彙總查詢返回時,我只想要一個
SELECT 'MSD-RES-CRUISE' AS QUERYNAME, dbo.BOOKINGS.USERID, SUM(dbo.BOOKINGS.APRICE) AS total, COUNT(dbo.BOOKINGS.USERID) AS TOTAL2
FROM dbo.BOOKINGS INNER JOIN dbo.TOURS ON dbo.BOOKINGS.TOUR = dbo.TOURS.TOUR INNER JOIN
dbo.MAJOR ON dbo.TOURS.MAJOR = dbo.MAJOR.MAJOR
WHERE (dbo.BOOKINGS.BOOKED BETWEEN CONVERT(int, Dateadd(day,2, @startdate)) AND CONVERT(int, Dateadd(day,2, @enddate))) AND (dbo.MAJOR.SDESCR = 'Cruises') AND
(dbo.BOOKINGS.USERID = @USER) AND (dbo.MAJOR.DIVISION = 'A') and dbo.BOOKINGS.STATUS <> 'XL' GROUP BY dbo.BOOKINGS.USERID
我想加盟
SELECT calltimeint, avetimeint
FROM dbo.agentdailycalls
where userid = @user and date1 between @startdate and @enddate
,其中用戶ID匹配和組名相匹配查詢名稱
查詢這是我用的
SELECT t0.QUERYNAME, t0.USERID, total, TOTAL2, calltimeint, avetimeint
FROM ( SELECT 'MSD-RES-CRUISE' AS QUERYNAME, dbo.BOOKINGS.USERID, SUM(dbo.BOOKINGS.APRICE) AS total, COUNT(dbo.BOOKINGS.USERID) AS TOTAL2
FROM dbo.BOOKINGS INNER JOIN dbo.TOURS ON dbo.BOOKINGS.TOUR = dbo.TOURS.TOUR INNER JOIN
dbo.MAJOR ON dbo.TOURS.MAJOR = dbo.MAJOR.MAJOR
WHERE (dbo.BOOKINGS.BOOKED BETWEEN CONVERT(int, Dateadd(day,2, @startdate)) AND CONVERT(int, Dateadd(day,2, @enddate))) AND (dbo.MAJOR.SDESCR = 'Cruises') AND
(dbo.BOOKINGS.USERID = @USER) AND (dbo.MAJOR.DIVISION = 'A') and dbo.BOOKINGS.STATUS <> 'XL' GROUP BY dbo.BOOKINGS.USERID
) t0
INNER JOIN ( SELECT sum(calltimeint) as calltimeint, sum(avetimeint) as avetimeint , userid
FROM dbo.agentdailycalls
where userid = @user and date1 between @startdate and @enddate and GroupName = 'MSD-RES-CRUISE'
group by userid
) t1 ON t1.userId = t0.USERID
沒有工作生病後所發生的事情上去頂 – whatsupprogrammers 2011-04-21 18:55:11
@whatsup應該在哪裏「31548.330000」和「8」從何而來?你想要最小值(不是SUM,因爲你的原始查詢顯示「? – 2011-04-21 18:59:07
在我開始之前,我開始添加calltimeint和avetimeint等通話數據,我只收集驗證爲8和31548.33的銷售數據。由於某種原因,通話數據收集每行的這些信息,然後添加它 – whatsupprogrammers 2011-04-21 19:08:58