新人看视频学习ORACLE基础,遇到个问题:有三个表
TAB1: col,....
TAB2: col1,col2....
TAB3: col....select 1.col,3.col from TAB1 1,TAB3 3
  where (xxxx)TAB2是1和3的中间表
选出符合条件:TAB1.COL = TAB2.COL1,同时TAB2.COL1这一行的TAB2.COL2的值TAB2.COL2 = TAB3.COL
这样的WHERE 条件该怎么写呢?
应该不是
where tab1.col = tab2.col1
and   tab2.col1 = tab3.col 吧?

解决方案 »

  1.   

    where tab1.col  in(select col1 from tab2) and tab3.col in (select col2 from tab2)
      

  2.   

    select T1.col,T3.col from TAB1 T1,TAB2 T2,TAB3 T3
    WHERE T1.COL=T2.COL1 ADN T2.COL2=T3.COL;
    就是这么写的
      

  3.   


    这样可以保证 T1.COL和T3.COL是经由表T2中的同一行数据的来的?
      

  4.   

    试验了一下,不能保证和T1 T3相等的数据在T2同一行内
      

  5.   


    噗 搞错了   看来可以AND可以保证协同了。。