So I have this task where I have the variable "team number" and "tec". Unfortunately, the value of "tec" isn't always correct. The correct team numbers and corresponding tec- values are listed in a separate document, I'm charged with listing the of the incorrect ones. I start by writing proc sql feedback;
select a.teamno as teamno, a.tec as tec1, b.tec as tec2
from tabell_1 as a, val2 as b
where a.teamno=b.teamno and tec1 ^= tec2 ;
quit; Which would be all well and good....if each team number was assigned to one and only one tec-number, unfortunately, this isn't the case, and the following six teams can have multiple tec numbers assigned to them: Team Tec 120 3 120 9 302 5 302 8 502 15 502 16 512 14 512 15 520 9 520 15 523 11 523 16 I want to make an exception for these values (I don't know if that's the most elegant solution), so I write: proc sql feedback;
select a.teamno as teamno, a.tec as tec1, b.tec as tec2
from tabell_1 as a, val2 as b
where a.teamno=b.teamno and tec1 ^= tec2
and (a.teamno ^=120 and (a.tec=3 or 9 and b.tec=3 or 9))
;
quit; Unfortunately, only the first part of the added condition seems to be excecuted: NOTE: Statement transforms to:
select A.teamno as teamno, A.tec as tec1 label='tec', B.tec as tec2 label='tec'
from WORK.TABELL_1 A, WORK.VAL2 B
where (A.teamno = B.teamno) and (A.tec1 not = B.tec2) and (A.teamno not = 120);
1155 quit; what an I doing wrong, and is there a better way of doing this?
... View more