J'ai deux tables - Table_a et TABLE_B.
AREA_ID NAME ------ -------- 111 USA 222 USA 333 USA
3 Réponses :
Utiliser ou Démo KBD> P> P> P> P> P> P> croix rejoindre code> comme joint interne code> comme p>
Quelque chose comme ça?
Si vous changez de condition dans la ligne 15, vous obtiendrez un autre loc_name code> à partir de table_b code>. P> SQL> with table_a (area_id, loc_id, other) as
2 (select 111, 1, 'AA' from dual union all
3 select 222, 2, 'BB' from dual union all
4 select 333, 3, 'CC' from dual
5 ),
6 table_b (loc_id, loc_name) as
7 (select 1, 'USA' from dual union all
8 select 2, 'ITALY' from dual union all
9 select 3, 'SPAIN' from dual
10 )
11 select a.area_id, x.loc_name
12 from table_a a join
13 (select b.loc_name
14 from table_b b
15 where b.loc_id = 1 --> that's what you said
16 ) x
17 on 1 = 1;
AREA_ID LOC_N
---------- -----
111 USA
222 USA
333 USA
SQL>
Cela semble faire ce que vous voulez: Je ne peux pas comprendre pourquoi une jointure à Si vous voulez vraiment la valeur avec "1", utilisez: p> Vous pouvez souhaiter un table_b code> est souhaitée. P> rejoindre code>. . . Mais alors vous obtiendrez un null code> valeur. p> p>
Pourquoi utiliser
table_b code> du tout? Il suffit d'utiliserSélectionnez "USA" comme nom code>.D'accord mais c'est la structure qui est en place