Portál AbcLinuxu, 11. května 2025 07:27
SELECT col1, col2, ... coln, SELECT a where b > c from TAB2 FROM TAB1;, kde vysledkom vnoreneho selectu moze byt viacero riadkov, teda napr.:
+------+ | val1 | | val2 | | ... | | valn | +------+Ja potrebujem tieto riadky dostat do jednej stlpca, takze vysledok celeho selectu bude takyto:
+-----------------------------------------------+ | col1 | col2 | ... | coln | a | | ... | ... | ... | ... | val1,val2,...,valn | +-----------------------------------------------+
drop table tab1; create table tab1( col1 varchar2(10), col2 varchar2(10), col3 varchar2(10) ); insert into tab1 values('col1','col2','col3'); commit; drop table tab2; create table tab2( val varchar2(10) ); insert into tab2 values('val1'); insert into tab2 values('val2'); insert into tab2 values('val3'); commit; select tab1.*,(select listagg(val,',') within group (order by val) from tab2) from tab1;
CONCAT
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.