Write and run SAS programs in your web browser

Problem while merging

Reply
Contributor
Posts: 31

Problem while merging

i want to join table d.p4 with dig ,Probability is the id

 

 

proc sql;
create table p1 as select a.Account_Name as client ,a.Opportunity_Owner as champ,
a.Last_Modified_Date as modified , sum(a.Total_Media_Value) as Tot_Budget,a.Deal_Comments,
 
b.Total_Media_Value as Digital_bdgt
from d.p3 as a left join dig as b
on a.Probability____= b.Probability____
group by Probability____
order by  Probability____ desc;

quit;

 

 

log

63         group by Probability____
64         order by  Probability____ desc;
ERROR: Ambiguous reference, column Probability____ is in more than one table.
ERROR: Ambiguous reference, column Probability____ is in more than one table.
Respected Advisor
Posts: 4,648

Re: Problem while merging

When you joined the data sets, you specified a.Probability___ or b.Probability___.  That's the right way to do it. 

 

When you get to GROUP BY or ORDER BY, you have to do the same thing.  Pick one.  When you just say Probability___, SQL doesn't know which one you mean.

Contributor
Posts: 31

Re: Problem while merging

I am still not getting the desired output.
both the data sets have the same values of probability and other columns
too which i require but i want that the output should be all the required
columns of set 1 and only 1 column to be joined to that set 1based on
probability,i dont want repeating probabilities.

proc sql;
create table p1 as select a.Probability____ , a.Account_Name as client
,a.Opportunity_Owner as champ,
a.Last_Modified_Date as modified , sum(a.Total_Media_Value) as
Tot_Budget,a.Deal_Comments,

b.Total_Media_Value as Digital_bdgt
from d.p3 as a left join dig as b
on a.Probability____= b.Probability____
group by a.Probability____
order by a.Probability____ desc;

quit;

##- Please type your reply above this line. Simple formatting, no
attachments. -##
Grand Advisor
Posts: 16,353

Re: Problem while merging


rishabhmehra13 wrote:
 i want that the output should be all the required

columns of set 1 and only 1 column to be joined to that set 1based on
probability,i dont want repeating probabilities.



If you include variables NOT in your group by clause (or an aggregate function) in your SELECT statement they are considered distinct and are repeated for each row. If you want distinct values add them to your group by or an aggregate function as appropriate. 

 

 

Super User
Posts: 1,078

Re: Problem while merging

better display a group of input and its output to show what is wrong 

Esteemed Advisor
Posts: 5,979

Re: Problem while merging

All variables in the select that are not the subject of a summary function need to go into the group by clause.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Post a Question
Discussion Stats
  • 5 replies
  • 201 views
  • 0 likes
  • 5 in conversation