sql server - SQL GROUP BY, adding a column from another table works but produces inaccurate information -


so here original query:

select batting.playerid, sum(g) 'g', sum(ab) 'ab', sum(r) 'r', sum(h) 'h', sum(doub) '2b',  sum(trip) '3b',                           sum(hr) 'hr', sum(rbi) 'rbi', sum(sb) 'sb', sum(cs) 'cs', sum(bb) 'bb',                           sum(so) 'so', sum(ibb) 'ibb', sum(hbp) 'hbp', sum(sh) 'sh', sum(sf) 'sf', sum(gidp) 'gidp',                           master.namelast, master.namefirst,      batting         join master on batting.playerid = master.playerid  master.namelast @lastname + '%'  group batting.playerid, master.namelast, master.namefirst 

here new query:

select batting.playerid, sum(g) 'g', sum(ab) 'ab', sum(r) 'r', sum(h) 'h', sum(doub) '2b',  sum(trip) '3b',                           sum(hr) 'hr', sum(rbi) 'rbi', sum(sb) 'sb', sum(cs) 'cs', sum(bb) 'bb',                           sum(so) 'so', sum(ibb) 'ibb', sum(hbp) 'hbp', sum(sh) 'sh', sum(sf) 'sf', sum(gidp) 'gidp',                           master.namelast, master.namefirst, fielding.pos     batting         join master on batting.playerid = master.playerid         join fielding on master.playerid = fielding.playerid master.namelast @lastname + '%'  , fielding.pos in ('c', '1b','2b','3b', 'ss', 'lf', 'rf', 'cf', 'of', 'dh') group batting.playerid, master.namelast, master.namefirst, fielding.pos 

all doing adding pos column fielding table. had sum columns on batting table totals. results have multiple pos's on fielding table relate sums, ie, has 50 games @ 1 pos, 50 @ pos. query works, numbers being returned getting multiplied few times along way (are lot larger in second query first) , getting multiple records based on pos, want one. thoughts? tried left outer join, didnt anything

the proble 1 record in master table can have multiple records in fielding table, cause query return each record in batting table multiple times. if need data fielding table, need limit single record per playerid.


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -