Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1296
  • Last Modified:

How to concatenate two SELECT results

Hi there,

Is there anyway to concatenate two string results without using variables?

I want to concatenate query results like these two in the Code Box.

The result from the first is '08OUT14' and from the second one is 'JOCO', so the result that i want would be '08OUT14JOCO'.

Any help?
SELECT TO_CHAR(data_inicio,'YYMONDD') FROM registo_eventos WHERE customer_id = 28704000002662 
	  
SELECT SUBSTR(p.display_name,1,3) FROM ev_produtos ev, product p WHERE p.product_id = ev.product_id AND customer_id = 28704000002662

Open in new window

0
vmorais_
Asked:
vmorais_
1 Solution
 
Raja Jegan RSQL Server DBA & ArchitectCommented:
Hope this helps
SELECT (SELECT TO_CHAR(data_inicio,'YYMONDD') FROM registo_eventos WHERE customer_id = 28704000002662 ) || (SELECT SUBSTR(p.display_name,1,3) FROM ev_produtos ev, product p WHERE p.product_id = ev.product_id AND customer_id = 28704000002662) FROM dual

Open in new window

0
 
johnsoneSenior Oracle DBACommented:
rrjegan17's post assumes only 1 record could ever be returned by the queries.

If that is not the case, this would work.  You need to substitute either ev or p for ?? on the last line, I don't know which table CUSTOMER_ID is in.
SELECT TO_CHAR(a.data_inicio,'YYMONDD') || SUBSTR(p.display_name,1,3)
  FROM registo_eventos a, ev_produtos ev, product p
 WHERE a.customer_id = 28704000002662 and
       p.product_id = ev.product_id and
       a.customer_id = ??.customer_id;

Open in new window

0
 
awking00Commented:
Can you post the relevant table structures with some sample data and what you expect the output to be?
0
 
vmorais_Author Commented:
I have done it like this..

I will put this script in a WINDOWS schedule task, having in log all the update statements.

Thanks.
	SELECT 'UPDATE CUSTOMER SET NAME = ''' || TO_CHAR(re.data_inicio,'YYMONDD', 'NLS_DATE_LANGUAGE =AMERICAN') || SUBSTR(p.display_name,1,3) || SUBSTR(emp.first_name,1,2) || SUBSTR(emp.last_name,1,2)
	  		|| '-' || re.ev_obj_accao || ''' WHERE CUSTOMER_ID = ' || c.CUSTOMER_ID || ';' 
	  		|| CHR(10)
	  		|| 'COMMIT;'
	  		|| CHR(10)
	  		|| 'UPDATE MEETING_VENUE SET NAME = ''' || TO_CHAR(re.data_inicio,'YYMONDD', 'NLS_DATE_LANGUAGE =AMERICAN') || SUBSTR(p.display_name,1,3) || SUBSTR(emp.first_name,1,2) || SUBSTR(emp.last_name,1,2)
	  		|| '-' || re.ev_obj_accao || ''' WHERE CUSTOMER_ID = ' || c.CUSTOMER_ID || ';' 
	  		|| CHR(10)
	  		|| 'COMMIT;'	
	FROM registo_eventos re, ev_produtos ev, product p, employee emp, customer c, meeting_venue mv
	  	WHERE p.product_id = ev.product_id
	  	AND re.creator_employee_id = emp.employee_id
	  	AND mv.customer_id = ev.customer_id
	  	AND ev.customer_id = c.customer_id
	  	AND c.customer_id = re.customer_id
	  	--AND c.name <> mv.name
	  	--AND re.data_inicio > TO_DATE('30-06-2009', 'DD-MM-YYYY')
	  	AND c.name = 'Evento'

Open in new window

0
 
johnsoneSenior Oracle DBACommented:
Interesting.  The posted solution most resembles my suggestion, however I got no points.
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now