R******d 发帖数: 1436 | 1 两个表。一个10000多行(a),第二个一个100000000行(b)。我用proc sql把这两连接起
来。好比:
proc sql noprint; create table c as
select table a.g1, a.g2, b.value from a left join b on a.g1=b.id1 and a.g2=b
.id2;
quit;
我发现value,也就是来自第二个表的数据是空的。检查了一下原始数据,应该是有的
。请问这是什么原因,是不是proc sql对处理的表有什么上限?
多谢了 |
p********a 发帖数: 5352 | |
s*r 发帖数: 2757 | 3 select table a.g1?
try join instead of left join to see how many rows you can get |
R******d 发帖数: 1436 | 4 真的,没看错。把 = 换成 eq 也没有用。反正第二个表的数据就是出不来,title倒是
有。值是空的。 |
o****o 发帖数: 8077 | 5 r u sure the data is available for those satisfying the criteria?
【在 R******d 的大作中提到】 : 真的,没看错。把 = 换成 eq 也没有用。反正第二个表的数据就是出不来,title倒是 : 有。值是空的。
|
y*m 发帖数: 102 | 6 strongly recommend LZ post some sample data
【在 o****o 的大作中提到】 : r u sure the data is available for those satisfying the criteria?
|
R******d 发帖数: 1436 | 7 我知道了,我错了。
原来id2和g2两个字符长度不同,用一下trim(left(id2))之后就好了。呵呵
前面那个多出的table是笔误。 |
s**********e 发帖数: 63 | 8 用 full join 会更好:
proc sql noprint;
create table c as
select table a.g1, a.g2, b.value from a full join b on a.g1=b.id1 and a.
g2=b.id2;
quit; |
b*******r 发帖数: 152 | 9 is 'full join' same as 'inner join'? |
d*h 发帖数: 2347 | 10 no, full join is full outer join
【在 b*******r 的大作中提到】 : is 'full join' same as 'inner join'?
|