初学者刚学PL/SQL数据库,关于取数问题一直困扰,请各位大侠指教!
例如:我建了一张临时表:
create table tmp_A (msisdn number(20),user_id number(20),account_id number(20),order_id number(20));
然后我可以通过 update tmp_A a
set a.user_id=(select b.user_id from tmp_B b where a.msisdn=b.MSISDN)
commit; 取出 user_id
但是当我要取出order_id 的时候,因为tmp_B这个表数据太大,所以我再次创建一个临时表
create table tmp_order as
select b.USER_ID,b.ACCOUNT_ID,b.order_id
from tmp_C b
where b.sale_id = 69000915;
然后我通过update tmp_A a
set a.order_id=(select b.order_id from tmp_order b where a.user_id=b.user_id);
commit;
更新tmp_A这张表的时候,怎么取不出order_id 呢?
研究了半天,感觉这些语句都木有错呀。。不知道为什么取不出来的呢?
select 1 from tmp_C b join tmp_A a on a.user_id=b.user_id
这个执行的结果是 1 ,那是证明有关联的吗?
还有,把语句改为上面所写的,也更新不了也。。。
1 只是为了查询快 这个可以反映你查询的行数
你有没有按照我的要求
--然后 查询这个语句 看看关联有记录没
select 1 from tmp_C b join tmp_A a on a.user_id=b.user_id
where b.sale_id = 69000915;