Oracle uses functions to merge multiple rows and one column of data
/* Formatted on 13:23:55 (QP5 v5.185.11230.41888) */create or replace function GetGiftsName (rid in number) // RETURN VARCHAR2 as str VARCHAR2 (1000) in the rid parameter ); /* returned dataset */begin declare v_medCode VARCHAR2 (100);/* place where temporary variables are stored */CURSOR D_cursor IS select B. cproname from cc_promotions a left join cc_progifts B on. ipromosid = B. ipromosid where. ipromosid = rid and B. bgift = ''; begin open D_cursor; loop fetch D_cursor into v_medCode; exit when D_cursor % NOTFOUND; if length (STR)> 0 then str: = STR | ', '| v_medCode; else str: = STR | v_medCode; end if; end loop; close D_cursor; end; return str; END GetGiftsName; select GetGiftsName (428) from dual
The result is that the data of a field with the same id can be queried and separated by commas (California ximei, California ximei 2)