2013-09-30 4 views
1

Мне нужно добавить uniqueid и WBid из обеих таблиц. С моим вводом ниже я получаю правильные данные из обеих таблиц, но он просто перечисляет его в строках и не суммирует его.SQL Добавить значения из 2 Таблицы

select distinct COUNT(l.uniqueid), SUM(r.WBid), l.uniqueid, l.firstname, ``l.lastname,  l.email, l.phone, l.mobile, l.address, l.city FROM EDW..lookupuser l 
INNER JOIN DB..DimBD b on b.userid = l.userId 
INNER JOIN DB..FactVP v on v.BidderId = b.bidderid 
INNER JOIN DB..FactRD r on r.buyerid = b.bidderid 
and r.AuctionDate > '2012-12-31' 
GROUP BY l.uniqueid, l.email, l.phone, l.mobile, l.address, l.city, l.firstname, l.lastname 

UNION 
select distinct COUNT(l.uniqueid), SUM(t.WBid), l.uniqueid, l.firstname, l.lastname,  l.email, l.phone, l.mobile, l.address, l.city FROM EDW..lookupuser l 
INNER JOIN DB..DimB b on b.userid = l.userId 
INNER JOIN DB..FactVP v on v.BidderId = b.bidderid 
INNER JOIN DB..FactTA t on t.BidderId = b.bidderid 
and t.AuctionDate > '2012-12-31' 
GROUP BY l.uniqueid, l.email, l.phone, l.mobile, l.address, l.city, l.firstname, l.lastname 
order by l.email asc 

ответ

1

Вы должны сделать объединение первым, и они SUM это. В противном случае вы получите два набора результатов:

SELECT DISTINCT COUNT(uniqueid), SUM(WBid), uniqueid, firstname, lastname, email, phone, mobile, address, city 
FROM (
    SELECT l.uniqueid, r.WBid, l.uniqueid, l.firstname, ``l.lastname, l.email, l.phone, l.mobile, l.address, l.city 
    FROM EDW..lookupuser l 
    INNER JOIN DB..DimBD b ON b.userid = l.userId 
    INNER JOIN DB..FactVP v ON v.BidderId = b.bidderid 
    INNER JOIN DB..FactRD r ON r.buyerid = b.bidderid AND r.AuctionDate > '2012-12-31' 

    UNION 

    SELECT l.uniqueid, t.WBid, l.uniqueid, l.firstname, l.lastname, l.email, l.phone, l.mobile, l.address, l.city 
    FROM EDW..lookupuser l 
    INNER JOIN DB..DimB b ON b.userid = l.userId 
    INNER JOIN DB..FactVP v ON v.BidderId = b.bidderid 
    INNER JOIN DB..FactTA t ON t.BidderId = b.bidderid AND t.AuctionDate > '2012-12-31' 
    ) x 
GROUP BY uniqueid, email, phone, mobile, address, city, firstname, lastname 
ORDER BY email ASC 
+0

Спасибо тонну. Это сработало. – user2832016

Смежные вопросы