多行,这是原来的查询汇总查询返回时,我只想要一个
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